参考:

android中setImageResource加载大图片出现oom解决方案
https://www.baidu.com/link?url=cIknayZWPbsOigzjSf-zyaz9GVlMHc68Mt9-rZQyK4jpsszfluDMpe3WOFes3eGJET8wrunE93YbF3bMK6Cv4RfvsF4lXi2Z7JzT9cjk0aW&wd=&eqid=fb183f5f0002e658000000025a041eb7


android图片压缩质量参数Bitmap.Config RGB_565等的含义
https://www.baidu.com/link?url=dnI7Jog1CP8XEPjl20NHA-OU_-fAQ-IkODclUWUtO4KGZDDQoxzsYB5IhYj3nOWwYkggPtiSdmdQKmvBZ2tegq&wd=&eqid=c0c1346d00049e32000000025a043676



需求是在更新界面的时候,需要每隔几秒钟切换一张图片,之前使用的是setImageResource方法,由于图片太大,将近1M的png吧,在有的机器上会出现内存不够的情况,于是百度修改代码如下:

    public static Bitmap readBitMap(Context context, int resId) {        BitmapFactory.Options opt = new BitmapFactory.Options();        opt.inPreferredConfig = Bitmap.Config.RGB_565;        opt.inPurgeable = true;        opt.inInputShareable = true;        // 获取资源图片        InputStream is = context.getResources().openRawResource(resId);        return BitmapFactory.decodeStream(is, null, opt);    }    public void handleSetImage(int resourceID)    {        Log.i(MainActivity.TAG, "resourceID = " + resourceID);        Bitmap bitmap = readBitMap(this, resourceID);        img.setImageBitmap(bitmap);    }

内存消耗变化如下:

android中setImageResource加载大图片出现oom解决方案_第1张图片


android中setImageResource加载大图片出现oom解决方案_第2张图片

更多相关文章

  1. Android C++ 动态加载so
  2. Android跳转系统相机或相册获取图片
  3. android对大图片的缓存处理
  4. Android加载Gif动画实现代码
  5. android 根据SD卡中图片路径读取并显示SD中的图片――源代码
  6. Android中多层Fragment嵌套,调用相册返回Uri无法显示图片的问题解
  7. Android WebView图片显示问题
  8. android 缩放图片与内存溢出
  9. android image cache 图片缓存 异步 下载

随机推荐

  1. Android(安卓)ProgressDialog工具类
  2. Android(安卓)基础知识
  3. 线性布局 LinearLayout
  4. CTS 和 GMS
  5. Android的语言设置(一)
  6. Android(安卓)组件之Service解析
  7. AIDL 进程间通信
  8. Android(安卓)蓝牙耳机录音以及蓝牙耳机
  9. android获取空间的宽度高度 的方法
  10. Android(安卓)触摸事件机制(四) ViewGrou