加载大图片的OOM异常
* 原因:系统分配给应用程序的堆内存 < 图片的大小
* 解决方案:缩放图片显示
* OOM:OutOfMemoryError
* 图片的宽高
* 宽
2400
* 高 3200
*
手机屏幕的宽高
* 宽 320
* 高 480
* 缩放比例
* 图片的宽 / 屏幕的宽
* 2400 / 320 = 7.5
* 图片的高 / 屏幕的高
* 3200 / 480 = 6.7
如果图片超过系统所分配的内存大小就会OOM
import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.os.Bundle; import android.widget.ImageView; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView iv = (ImageView) findViewById(R.id.iv); Bitmap bmp = BitmapFactory.decodeFile("/mnt/sdcard/dog.jpg"); iv.setImageBitmap(bmp); } }
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!