从内存中获取图片——如果获取到,结束
创建和分配一个内存
得到下载的图片大小//创建和分配一个内存 //int maxSize int maxSize = (int) (Runtime.getRuntime().freeMemory() / 4);//设置空间最大值 cache = new LruCache<String, Bitmap>(maxSize) { @Override protected int sizeOf(String key, Bitmap value) { //得到图片的大小 return value.getRowBytes() * value.getHeight(); } };
查找内存,如果有就直接显示然后 结束
// 1. 从内存中获取图片——如果获取到,结束 Bitmap bitmap = cache.get(url); if (bitmap != null){ //给控件赋值 imageView.setImageBitmap(bitmap); return; }
- 从sd卡中获取图片——如果获取到加载到内存,结束
获取sd卡的路径
设置读取sd卡的权
//让用户给与读取sd卡的权限
String externalStorageState = Environment.getExternalStorageState();- 从sd卡中获取图片——如果获取到加载到内存,结束
图片的三级缓存
最新推荐文章于 2025-08-07 09:28:58 发布