我正在使用“Android通用图像加载库(v 1.9.1)”,我想通过在配置生成器中使用以下行来限制所使用的(disc)缓存量:
.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);