一 . Recycle
二 .LRUCach
内部有由LinkedHashMap来实现,并提供了get(K key)/put(K key, V value)/remove(K key)等对缓存进行操作的方法, 当缓存满的时候提供了trimToSize(int maxSize)的方法来清除最早的缓存.
三 .计算inSampleSize
四 . 缩略图
options.inJustDecodeBounds = true;
// 获取这个图片的宽和高信息到options中, 此时返回bm为空
Bitmap bitmap = BitmapFactory.decodeFile\(path, options\);
options.inJustDecodeBounds = false;
// 计算缩放比
int sampleSize = calculateInSampleSize\(options, maxWidth, maxHeight\);
五 . 三级缓存
网络-->本地-->内存:就是第一次走网络,后面如果再次的查询相同uri的图片时走内存或者本地