SixthDay-Bitmap三级缓存+二级采样

一、Bitmap三级缓存

思路:先从缓存中获取,如果没有则去SD卡中获得,如果也没有则去网络下载下载好后写如SD卡和内存中
网络获取:Url

1、Bitmap为什莫要三级缓存

没有缓存的弊端 :费流量, 加载速度慢
加入缓存的优点: 省流量,支持离线浏览

SD卡

缓存操作

1、LruCache<String,Bitmap> cache = new LruCache<String,Bitmap>(最大缓存/8);
2、获得最大缓存:Runtime.getRuntime().macMemory()
3、存数据:cache.put(k,v);
4、取数据:cache.get(k);
5、重写sizeOf(k,v){
v.getByteCount();
}

2、代码

1、先添加读写SD卡和网络权限:
在这里插入图片描述
2、写一个操作内存的工具类
在这里插入图片描述

3、写一个操作SD卡的工具类
在这里插入图片描述

4、网络下载工具类
在这里插入图片描述

5、使用以上的工具类完成Bitmap三级缓存
在这里插入图片描述
在这里插入图片描述

二、二级采样

1、才边框并且计算缩放比例

2、采像素

步骤过程

1、BitmapFactory.Options o = new BitmapFactory.Options();
2、o.inJustDecide = false/true; //false采像素、true才边框
3、o.outWidth;//原始图片宽 o.outHeight;//原始图片高
4、o.inSampleSize = 缩放比例;//设置缩放比例

效果先看:
在这里插入图片描述

代码图:
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值