只要你记住下面几个原则,在android 中处理图片的OOM问题绝对是easy之极:

1.超大图片要按比例压缩之后才做显示,退出当前activity 必须回收

    public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId,              int reqWidth, int reqHeight) {                // First decode with inJustDecodeBounds=true to check dimensions          final BitmapFactory.Options options = new BitmapFactory.Options();          options.inJustDecodeBounds = true;          BitmapFactory.decodeResource(res, resId, options);                // Calculate inSampleSize          options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);                // Decode bitmap with inSampleSize set          options.inJustDecodeBounds = false;          return BitmapFactory.decodeResource(res, resId, options);      }  

关于inSampleSize 可根据自己的实际情况去定。

if (bitmap != null && !bitmap.isRecycled()) {                    bitmap.recycle();                    bitmap = null;}
2.大图片(30~50k)的可直接显示,退出当前activity 立即回收

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

3.大量的小图 或者不同size的图片要展示,请参看我的另外一篇LRU算法缓存图片的:http://blog.csdn.net/androidzhaoxiaogang/article/details/8211649

作者:androidzhaoxiaogang 发表于2013-2-13 10:43:20 原文链接 阅读:92 评论:0 查看评论

更多相关文章

  1. Android之项目推荐使用的第三方库
  2. Android(安卓)保存图片到本地并且微信能识别出来
  3. android下图片处理方法[转]
  4. android 循环播放图片实现
  5. 【Android开发经验】FaceBook推出的Android图片加载库-Fresco
  6. android 编译facebook/fresco图片库
  7. Android控制双击返回按钮退出程序的代码
  8. Android(安卓)MaskedImage
  9. Android返回键的捕捉与完全退出

随机推荐

  1. android 黑屏状态下,开屏代码
  2. Android(安卓)GPS Location with Listene
  3. 应用系统样式延伸
  4. 调用Android系统设置项
  5. Android(安卓)开启闪光灯做手电筒
  6. 简单播放系统提示音 android
  7. Android(安卓)听筒播放 适配(摩托)
  8. 《Expert Android》关键点摘录之二
  9. android - Shader 着色器 翻译
  10. Android(安卓)- 网络相关