我正在开发一个应用程序,它应该能够预先下载数据集中使用的所有图像,以便应用程序可以完全脱机运行。
应该下载每500KB的 600张图像(总共约300 MB)。
为此,我想循环遍历所有网址并执行 Picasso fetch()方法。这将获取所有图像,这很棒。
我唯一缺少的是查看所有图片下载的进度的方法。有没有办法看到毕加索下载队列的进展?这样我就可以在下载完成时通知用户,并告知当前状态。
到目前为止我发现了什么:
答案 0 :(得分:0)
首先,您不应该预加载所有图像。 如果您使用的是Picasso或Universal Image Loader,则它们都会缓存您的图像。通过这种方式,您可以确定(或几乎)关于OutOfMemoryException。
但是如果你真的想这样做,请检查Universal Image Loader loadImage(String uri,ImageLoadingListener listener)
https://github.com/nostra13/Android-Universal-Image-Loader
imageLoader.loadImage(imageUri, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
// Do whatever you want with Bitmap
}
});