gpt4 book ai didi

android - LruCache 返回 null

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

我有以下代码来缓存位图,当我尝试使用它们的键检索它们时。他们总是返回 null 。请帮我 。谢谢你

 final int memClass = ((ActivityManager) mcontext.getSystemService(Context.ACTIVITY_SERVICE)).getMemoryClass();
final int cacheSize = 1024 * 1024 *memClass ;
Toast.makeText(mcontext,"Max Cache "+cacheSize,Toast.LENGTH_LONG).show();
mMemoryCache = new LruCache<String, Bitmap>(cacheSize) {
@Override
protected int sizeOf(String key, Bitmap bitmap) {
// The cache size will be measured in kilobytes rather than
// number of items.
return bitmap.getByteCount() / 1024;
}
};

获取和设置缓存的函数

 public void addBitmapToMemoryCache(String key, Bitmap bitmap) {
if (getBitmapFromMemCache(key) == null) {
Toast.makeText(mcontext,"CEO "+key+" - "+bitmap,Toast.LENGTH_LONG).show();
mMemoryCache.put(key, bitmap);
}
else
{
Toast.makeText(mcontext,"NULL",Toast.LENGTH_LONG).show();
}
}

public Bitmap getBitmapFromMemCache(String key) {
return mMemoryCache.get(key);
}

------------更新-------------------------------- ------好吧,经过一些调试发现它正在插入值,但是退出应用程序后我无法访问它。当我尝试重新启动应用程序时,缓存丢失了。请有人帮助我如何保留该值(value)。谢谢你

最佳答案

我可能是错的,但根据我的理解,缓存是用来在你的 RAM 中保留一些数据以消除 CPU 的电荷。缓存在应用程序生命周期内累积(多次加载相同的照片等)。应用程序被击落后清除缓存是正常行为。

关于android - LruCache 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34083491/

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