美文网首页
解决加载太大图片导致的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

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