解决加载太大图片导致的oom

2017-02-08  本文已影响24人  JC_Hou

只要在读取时加上图片的Config参数,可以很有效减少加载的内存,从而跟有效阻止抛out of Memory异常。


 *  以最省内存的方式读取本地资源的图片
 *  @param context
 *  @param resId
 *  @return
  */
public  Bitmap readBitMap( int resId){ 
     BitmapFactory.Options opt = new  BitmapFactory.Options();
     opt.inPreferredConfig =  Bitmap.Config.RGB_565;
     opt.inPurgeable = true;
     opt.inInputShareable = true;
     //  获取资源图片
    InputStream is =  getResources().openRawResource(resId);
    return  BitmapFactory.decodeStream(is, null, opt);
     }```

然后在适当的时候及时回收图片占用的内存

if (bitmap != null) {
bitmap.recycle();
bitmap = null;
}```

上一篇下一篇

猜你喜欢

热点阅读