在工作中经常会遇到性能问题,有种提高性能的方法就是进行缓存处理,常见的缓存处理包括View 的缓存等,通用代码如下
private ArrayMap<Class, ArrayList> mScrapCache = new ArrayMap<Class, ArrayList>();
public <T> T getScrapObject(Class<T> clz) {
ArrayList scrapObjects = mScrapCache.get(clz);
if (scrapObjects != null && !scrapObjects.isEmpty()) {
return (T)scrapObjects.remove(0);
}
return null;
}
public void addScrapObject(Object scrap) {
Class clz = scrap.getClass();
if (!mScrapCache.containsKey(clz)) {
ArrayList scrapObjects = new ArrayList(8);
mScrapCache.put(clz, scrapObjects);
}
ArrayList scrapObjects = mScrapCache.get(clz);
scrapObjects.add(scrap);
}
public void clearCahce() {
for(ArrayMap.Entry<Class, ArrayList> entry : mScrapCache.entrySet()) {
ArrayList list = entry.getValue();
list.clear();
}
mScrapCache.clear();
}