美文网首页
解决加载太大图片导致的oom

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

作者: JC_Hou | 来源:发表于2017-02-08 16:01 被阅读24次

只要在读取时加上图片的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;
}```

相关文章

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

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

  • 用BitmapFactory.decodeStream()方法计

    在学习图片加载时图片很大的时候直接加载到内存或则直接原图绘制到 ImageView中会导致OOM问题; 解决思路是...

  • 性能优化

    问题:setImageResource()造成卡顿和oom解决方案:使用图片加载框架Glide加载图片

  • 解决图片加载oom

    几个知识点 方案一: 读取图片时注意方法的调用,适当压缩 方案二:在适当的时候及时回收图片占用的内存通常Activ...

  • Glide

    ImageView的scaleType设置不当,导致使用Glide时出现OOM Glide图片加载库的使用

  • OOM了

    异常原因分析:Canvas绘制bitmap需要的内存太大了,OOM了,直接就crash了。 导致原因1:图片太大了...

  • java.lang.RuntimeException: Canv

    异常原因分析:Canvas绘制bitmap需要的内存太大了,OOM了,直接就crash了。 导致原因1:图片太大了...

  • Android内存溢出

    如何避免OOM 1. 图片过大导致OOM(解决方法) 方法1: 等比例缩小图片方法2:对图片采用软引用,及时地进行...

  • Android加载大图和Lrucache 避免oom

    高效加载大图片 (转自)Android高效加载大图、多图解决方案,有效避免程序OOM BitmapFactory这...

  • Android中Bitmap的高效加载

    为了避免在ImageView中加载的图片过大而导致程序出现OOM的现象,利用BitmapFactory.Optio...

网友评论

      本文标题:解决加载太大图片导致的oom

      本文链接:https://www.haomeiwen.com/subject/sbzvittx.html