gpt4 book ai didi

android - 使用 LruCache 缓存图像

转载 作者:行者123 更新时间:2023-11-29 02:02:46 25 4
gpt4 key购买 nike

我正在尝试在 android 中使用 LruCache 来缓存一些图像,但它没有缓存

这是代码

   int cacheSize1 = 4 * 1024 * 1024; // 4MiB
bitmapCache = new LruCache(cacheSize1) {
protected int sizeOf(String key, Bitmap value) {
return value.getRowBytes() * value.getHeight();

}};

这里是它的其他方法

    public void addBitmapToMemoryCache(String key, Bitmap bitmap) {
if (getBitmapFromMemCache(key) == null) {
bitmapCache.put(key, bitmap);
}
}
public Bitmap getBitmapFromMemCache(String key) {
Bitmap b = (Bitmap)bitmapCache.get(key);
return b;
}

我在这里使用它们,这是我的代码

for (int i = 0; i < HomeActivity.globalObj.categoriesList.size(); i++) {
ImageView iv = new ImageView(getApplicationContext());
Bitmap bb = getBitmapFromMemCache(HomeActivity.globalObj.categoriesList.get(i).name);
if (bb != null) {
iv.setImageBitmap(bb);
imageViewList.add(iv);
}
else{
Bitmap b = getImageBitmap(HomeActivity.globalObj.categoriesList.get(i).large_image);
addBitmapToMemoryCache(HomeActivity.globalObj.categoriesList.get(i).name, b);
iv.setImageBitmap(b);
imageViewList.add(iv);

}

}

最佳答案

引用这个project ,这是一个 Google I/O 示例项目,用于解释如何使用 LRU Cache

关于android - 使用 LruCache 缓存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11716214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com