203.04.03———android写真キャッシュの二LruCache紹介
1324 ワード
203.04.03———android写真キャッシュの二LruCache紹介
参考:
http://blog.csdn.net/linghu_java/articale/detail/8574102
androidはもうキャッシュデータ構造を提供していますので、私達はもうLinked hashMapを使ってシミュレーションする必要はありません。
参考:
http://blog.csdn.net/linghu_java/articale/detail/8574102
androidはもうキャッシュデータ構造を提供していますので、私達はもうLinked hashMapを使ってシミュレーションする必要はありません。
int memClass = ((ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE)).getMemoryClass();
int cacheSize = 1024 * 1024 * memClass / 4; // 1/4
mLruCache = new LruCache<String, Bitmap>(cacheSize) {
@Override
protected int sizeOf(String key, Bitmap value) {
if (value != null)
return value.getRowBytes() * value.getHeight();
else
return 0;
}
@Override
protected void entryRemoved(boolean evicted, String key, Bitmap oldValue, Bitmap newValue) {
if (oldValue != null)
// , LRU
mSoftCache.put(key, new SoftReference<Bitmap>(oldValue));
}
};