废话不多说,直接贴代码!所谓的双缓存,第一就是缓存在内存里面,第二就是缓存在SD卡里面,当你需要加载数据时,先去内存缓存中查找,如果没有再去SD卡中查找,并且用户可以自选使用哪种缓存!缓存内存和缓存SD都有一个共同的方法,就是put和get方法(存数据和取数据),因此我们采用工厂 ...
废话不多说,直接贴代码!
所谓的双缓存,第一就是缓存在内存里面,第二就是缓存在SD卡里面,当你需要加载数据时,先去内存缓存中查找,如果没有再去SD卡中查找,并且用户可以自选使用哪种缓存!
缓存内存和缓存SD都有一个共同的方法,就是put和get方法(存数据和取数据),因此我们采用工厂模式!
新建一个接口,名字随便取,用来封装内存缓存和sd缓存里面共有的方法,然后新建一个内存缓存类和sd缓存类,双缓存类并且都实现此接口,注意建双缓存类只是为了更方便的使用其他两个缓存,你想想
如果两个缓存类封装到一个类中,并且这种类中会有判断如何使用哪种缓存,这样就减少了你每次调用哪种缓存就要修改代码的过程了!
package com.example.imageload;
import android.graphics.Bitmap;
/*接口/
public interface MemoryCache {
public Bitmap get(String url); if(bm == null){ } cache.put(url, bitmap); int cacheSize = maxMemory/4; return bitmap.getRowBytes()*bitmap.getHeight()/1024; mImageCache.put(uri, bitmap); return BitmapFactory.decodeFile(cacheDir+setUrl(url)); return cc; if (!settings.exists()) { bitmap.compress(CompressFormat.PNG, 100, fileInputStream);
原标题:android 双缓存机制
关键词:Android
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。