Android--加载大分辨率图片到内存
还原堆内存溢出的错误 首先来还原一下堆内存溢出的错误。首先在SD卡上放一张照片,分辨率为(3776 X 2520),大小为3.88MB,是我自己用相机拍的一张照片。应用的布局很简单,一个Button一个ImageView,然后按照常规的方式,使用BitmapFactory加载一张照片并使用一个ImageView展示。 代码如下: 1 btn_loadimage.setOnClickListener(new View.OnClickListener() { 2 3 @Override 4 public void onClick(View v) { 5 Bitmap bitmap=BitmapFactory.decodeFile("/sdcard/a.jpg"); 6 iv_bigimage.setImageBitmap(bitmap); 7 } 8 } 当点击按钮后,程序会报错,查看日志为: 先来分析一下这个错误,首先dalvikvm(Android虚拟机)发现需要的内存38MB大于应用的堆内存24MB,这个时候尝试使用软加载的方式加载数据,我们知道当内存不足的时候dalvikvm会自动...