gpt4 book ai didi

具有相同 URL 的 Android Universal Image Loader 请求被取消

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:27:34 33 4
gpt4 key购买 nike

我正在尝试使用 UIL 将图像加载到位图中。我需要加载多个图像,我注意到在某些情况下图像 url 可以相同。在这种情况下,只会加载第一张图片。如何避免在 UIL 中取消请求?

代码在循环中运行了 3 次:

ImageSize targetSize = new ImageSize(70, 70);
ImageLoader.getInstance().loadImage("http://icons.iconarchive.com/icons/yellowicon/game-stars/256/Mario-icon.png", targetSize, new ImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
Log.e("tag", "onLoadingStarted");
}

@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
Log.e("tag", "onLoadingFailed");
}

@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
Log.e("tag", "onLoadingComplete");
}

@Override
public void onLoadingCancelled(String imageUri, View view) {
Log.e("tag", "onLoadingCancelled");
}
});

日志是:

onLoadingStarted
onLoadingStarted
onLoadingStarted
onLoadingComplete
onLoadingCancelled
onLoadingCancelled

最佳答案

UIL 为同一个 ImageView 取消之前的 displayImage(...) 任务。

UIL 取消相同 URL 的先前 loadImage(...) 任务。

实际上,对于这两种情况,UIL 都在内部使用 ImageAware 进行操作,并比较 ImageAware.getId() 以决定是否取消任务。

在您的情况下,为了防止任务取消,您可以这样做:

ImageSize targetSize = new ImageSize(70, 70);
ImageAware imageAware = new NonViewAware(targetSize, ViewScaleType.CROP);
ImageLoader.getInstance().displayImage("http://icons...", imageAware, ...);

关于具有相同 URL 的 Android Universal Image Loader 请求被取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27002166/

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