gpt4 book ai didi

android - ImageLoader - 如果图像已经被缓存,则不要下载图像

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:52 24 4
gpt4 key购买 nike

如果图像已经缓存,我不想下载它们。我正在使用 NOSTRA 的 ImageLoader 库。请告诉我是否有办法做到这一点。以下是代码:-

    DisplayImageOptions options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.ic_stub)
.showImageForEmptyUri(R.drawable.ic_sample)
.resetViewBeforeLoading()
.cacheInMemory()
.cacheOnDisc()
.imageScaleType(ImageScaleType.EXACTLY_STRETCHED)
.bitmapConfig(Bitmap.Config.ARGB_8888)
.build();
imageLoader.displayImage(url2.toString()
,thumbnail,options, new
ImageLoadingListener() {
@Override
public void onLoadingStarted() {

// progressBar.setVisibility(grid.VISIBLE);
// grid.notify();
}

@Override
public void onLoadingFailed(FailReason failReason) {

//progressBar.setVisibility(grid.GONE);
// grid.notify();

}

@Override
public void onLoadingComplete(Bitmap bitmap) {


// progressBar.setVisibility(grid.GONE);
// grid.notify();
}

@Override
public void onLoadingCancelled() {

// progressBar.setVisibility(grid.GONE);
//grid.notify();

}
});

最佳答案

您尚未在 DisplayImageOption 中定义默认缓存选项。

ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
.threadPoolSize(5)
.threadPriority(Thread.MIN_PRIORITY + 3)
.denyCacheImageMultipleSizesInMemory()
// 1MB=1048576
.memoryCacheSize(1048576 * 5)
.discCache(new UnlimitedDiscCache(cacheDir))
.build();

这里,cacheDir 是一个目录,可能在 SD 卡 上(需要权限“android.permission.WRITE_EXTERNAL_STORAGE”) 或应用程序的缓存目录。

我在我的应用程序中提供了 cacheDirectory

File cacheDir = new File(this.getCacheDir(), "name of directory");
if (!cacheDir.exists())
cacheDir.mkdir();

现在,在下载任何图像之前,通过以下代码向 ImageLoader 提供您的配置,

imageLoader.init(config);

关于android - ImageLoader - 如果图像已经被缓存,则不要下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14437933/

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