1.加载入内存的图片并不是你看到的那样大小。
2592x1936 像素5MB,ARGB_8888 的图片(每个像素存放4bytes),加载到内存之后大约19M。
2.加载到内存中的图片,bitmap对象再compress回到文件的时候会多出很多信息。无用的。
内存溢出处理办法:
a.现将图片信息(height,width)在不耗费内存资源的情况下读取出来。
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String imageType = options.outMimeType;
b.处理图片。
google官方文档说的很清楚:http://developer.android.com/training/displaying-bitmaps/index.html。