从网上学习了MAT插件来查看内存使用情况,分析之后发现手上的应用对本地图片这边的内存损耗很大,查了相关资料之后发现,如果采用setImageBitmap、setImageResource这些来加载本地资源,会产生较大的损耗。因为这些方法在完成 decode 后,最终都是通过 Java 层的 crea...
分类:
移动开发 时间:
2015-01-29 19:21:44
阅读次数:
213
同样的布局文件,小分辨率手机:1、使用setImageBitmap设置时,出现如下现象:2、使用setImageResource时,图片显示正常原因:setImageResource(id)会根据设备分辨率进行图片大小缩放适配setImageBitmap(BitmapFactory.decodeRe...
分类:
其他好文 时间:
2015-01-27 12:38:51
阅读次数:
139
ImageView在xml布局中使用android:src=""(也即setBackgroundResource()方法 )设置图片资源适配没有问题,但在代码里使用setImageBitmap设置图片就填满布局并且变大了。使用android:scaleType="fitXY"也没有变化。跟踪了bit...
分类:
其他好文 时间:
2015-01-27 12:36:40
阅读次数:
107
http://blog.csdn.net/qqiabc521/article/details/20941273尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是...
分类:
移动开发 时间:
2015-01-21 11:29:26
阅读次数:
208
Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证):方案一、读取图片时注意方法的调用,适当压缩尽量不要使用setImageBitmap或setImage...
分类:
移动开发 时间:
2015-01-18 18:26:53
阅读次数:
245
1. setImageResource是同步的,资源图片的读取和解码都是在主线程中进行的。setImageDrawable是异步的。2. 加载速度的区别。setImageResource要快于setImageDrawable和setImageBitmap./** * Sets a drawa...
分类:
移动开发 时间:
2015-01-13 21:31:18
阅读次数:
1918
一般我们在遇到内存问题时,解决方案大体有如下几种:
1.在内存引用上做些处理,常用的有软引用、强化引用、弱引用;
2.在内存中加载图片时直接在内存中做处理,如:边界压缩;
3.动态回收内存;
4.优化Dalvik虚拟机的堆内存分配;
5.自定义堆内存大小;
6.尽量不要使用setImageBitmap、setImageResource或BitmapFactory.decodeResou...
分类:
移动开发 时间:
2014-12-17 12:57:52
阅读次数:
160
http://developer.android.com/training/displaying-bitmaps/load-bitmap.html 官方有一篇文章是如下这么解决的,通过Resource加载后压缩图片大小
//方法一:通过Resource加载
mImageView.setImageBitmap(decodeSampledBitmapFromResource(getRe...
分类:
移动开发 时间:
2014-12-10 18:04:05
阅读次数:
160
试讲的题目HTTP网络编程之下载图片publicclasstextwillextendsActivity{ privateImageViewp_w_picpathView; privateBitmapbitmap; Handlerhandler=newHandler(){ publicvoidhandleMessage(android.os.Messagemsg){ if(msg.what==1){ p_w_picpathView.setImageBitmap(bitm..
分类:
其他好文 时间:
2014-10-23 07:01:08
阅读次数:
126
尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。因此,改用先通过BitmapFactory...
分类:
移动开发 时间:
2014-10-14 13:09:29
阅读次数:
137