我在获取网络视频的缩略图时首次使用了缓存,
缓存其实分为三种缓存,一个是内存,本地,网络。
缓存其实不要想得那么复杂。一般情况下都是在类建个new ArrayList<a,b>(a表示key,b表示你要缓存的东西)。
然后在类里面写两个方法(1.判断没有缓存,没有就添加。2.获取缓存)
public void addToCache(String path, Bitmap bitmap) { if (getToCache(path) == null) { //当前地址没有缓存时,就添加 lruCache.put(path, bitmap); } } public Bitmap getToCache(String path) { return lruCache.get(path); }这个是类的构造方法 @SuppressLint("NewApi") public MyLoader() { //获取最大的运行内存 int maxMemory = (int) Runtime.getRuntime().maxMemory(); int maxSize = maxMemory / 4; lruCache = new LruCache<String, Bitmap>(maxSize) { @Override protected int sizeOf(String key, Bitmap value) { //这个方法会在每次存入缓存的时候调用 return value.getByteCount(); } }; } 有了以上的资料,剩下的都是业务逻辑问题。
