问题是这样的:
我的程序需要从sd卡上读取一张图片。但是图片太大了,我不需要这么大的。所以我
Bitmap primerBitmap = BitmapFactory.decodeFile(picPath);
mBackBitmap =Bitmap.createScaledBitmap(x,x);
if(!primerBitmap.isRecycled()){
primerBitmap.recycle();
primerBitmap = null;
}这样的方式建立缩小后的位图,但是内存占用还是原先不缩放的大小,只是操作明显比原先不缩放的流畅了。求一个解决方案
内存图片
我的程序需要从sd卡上读取一张图片。但是图片太大了,我不需要这么大的。所以我
Bitmap primerBitmap = BitmapFactory.decodeFile(picPath);
mBackBitmap =Bitmap.createScaledBitmap(x,x);
if(!primerBitmap.isRecycled()){
primerBitmap.recycle();
primerBitmap = null;
}这样的方式建立缩小后的位图,但是内存占用还是原先不缩放的大小,只是操作明显比原先不缩放的流畅了。求一个解决方案
内存图片
1.读Google提供的图片处理优化原文
http://developer.android.com/training/displaying-bitmaps/index.html2.中文翻译
http://blog.csdn.net/h3c4lenovo/article/details/81196193.使用第三方的优化包处理图片
如aQuery.jar还有中国人写的afinal.jar,这些在OSChina网站可以连接到。
BitmapFactory.Options opts = newBitmapFactory.Options();
opts.inSampleSize = 4 ;// 你自己可以做一下自适应依据图片大小来进行设置
Bitmap bitmap = BitmapFactory.decodeFile(imageFile, opts);然后对这个bitmap进行求缩略图,具体自适应inSampleSize 求解见:博客http://blog.csdn.net/sada09/article/details/7735624