gpt4 book ai didi

android - 如何为 android 通用图像加载器正确配置有限缓存?

转载 作者:太空狗 更新时间:2023-10-29 14:16:43 26 4
gpt4 key购买 nike

我正在使用 "Android universal image loader library (v 1.9.1)"我试图通过在配置生成器中使用这一行来限制正在使用的(磁盘)缓存的数量:

.discCache(new TotalSizeLimitedDiscCache(cacheDir, 25 * 1024 * 1024))

我可能在这里做了一些非常愚蠢的事情,但这应该将我的缓存限制为 25MB,而当我查看当前的应用程序信息时,我已经超过 45MB,所以它似乎不起作用。

我错过了什么吗?

增加了怀疑:如果缓存编号还包括设置为 true 的“memorycache”怎么办?我在假设下工作,就 imageLoader 而言,这只是一个缓存,从应用程序/操作系统的角度来看,这只是另一个使用内存的东西。如果不是,它可以解释这些数字吗?

完整的初始化代码:

private void initImageLoader() {
DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisc(true)
.build();

File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext());
cacheDir.mkdirs();


ImageLoaderConfiguration config = new
ImageLoaderConfiguration.Builder(getApplicationContext())
.defaultDisplayImageOptions(defaultOptions)
.discCache(new TotalSizeLimitedDiscCache(cacheDir, 25 * 1024 * 1024))
.build();

ImageLoader.getInstance().init(config);
}

调用代码(在imageView中显示imageUrl)

ImageLoader.getInstance().displayImage(imageUrl, imageView); 

最佳答案

当将默认内存缓存设置为 false(因此不要使用 .cacheInMemory(true))时,缓存似乎将自身保持在设置的最大值。计算缓存可能是磁盘缓存和内存缓存的组合。

这确实使 Android 操作系统的“缓存”编号的可用性有所降低,但另一方面,这也很公平。看起来数字是一致的,这只是设置两个最大值并将其传达给用户的问题。

关于android - 如何为 android 通用图像加载器正确配置有限缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21203416/

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