压缩图片 图片缓存之内存缓存技术LruCache,软引用

本文介绍了一种从内存卡加载图片的方法,并通过调整BitmapFactory.Options来优化图片加载过程,防止内存溢出。

  1. **
  2.          * 加载内存卡图片
  3.          */
  4.         BitmapFactory.Options options = new BitmapFactory.Options();
  5.         options.inJustDecodeBounds = true; // 设置了此属性一定要记得将值设置为false
  6.         Bitmap bitmap = null;
  7.         bitmap = BitmapFactory.decodeFile(url, options);
  8.         int be = (int) ((options.outHeight > options.outWidth ? options.outHeight / 150
  9.                 : options.outWidth / 200));
  10.         if (be <= 0) // 判断200是否超过原始图片高度
  11.             be = 1; // 如果超过,则不进行缩放
  12.         options.inSampleSize = be;
  13.         options.inPreferredConfig = Bitmap.Config.ARGB_4444;
  14.         options.inPurgeable = true;
  15.         options.inInputShareable = true;
  16.         options.inJustDecodeBounds = false;
  17.         try {
  18.             bitmap = BitmapFactory.decodeFile(url, options);
  19.         } catch (OutOfMemoryError e) {
  20.             System.gc();
  21.             Log.e(TAG, "OutOfMemoryError");
  22.         }


http://blog.chinaunix.net/uid-26930580-id-4138306.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值