如何正确配置android universal image loader的有限缓存?

如何正确配置android universal image loader的有限缓存?,android,caching,universal-image-loader,Android,Caching,Universal Image Loader,我正在使用,并试图通过在配置生成器中使用此行来限制(磁盘)缓存的使用量: .discCache(new TotalSizeLimitedDiscCache(cacheDir, 25 * 1024 * 1024)) 我可能在这里做了一些非常愚蠢的事情,但这应该将我的缓存限制在25MB,当我查看当前的应用程序信息时,我已经达到了45+MB,所以它似乎不起作用 我错过什么了吗 增加了怀疑:如果缓存编号还包括设置为true的“memorycache”,该怎么办?我工作的假设是,就imageLoader

我正在使用,并试图通过在配置生成器中使用此行来限制(磁盘)缓存的使用量:

.discCache(new TotalSizeLimitedDiscCache(cacheDir, 25 * 1024 * 1024))
我可能在这里做了一些非常愚蠢的事情,但这应该将我的缓存限制在25MB,当我查看当前的应用程序信息时,我已经达到了45+MB,所以它似乎不起作用

我错过什么了吗

增加了怀疑:如果缓存编号还包括设置为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


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


这确实使Android操作系统中的“缓存”数量变得不那么有用,但另一方面,这是公平的。由于这些数字似乎在排列,所以只需设置两个最大值,并将其传达给用户。

将测试在内存缓存未设置为true的情况下会发生什么。
ImageLoader.getInstance().displayImage(imageUrl, imageView);