Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
加载比android listview中可见的项目更多的项目_Android - Fatal编程技术网

加载比android listview中可见的项目更多的项目

加载比android listview中可见的项目更多的项目,android,Android,在安卓系统中,我有一个列表视图,其中包含使用毕加索从URL加载的图像。我遇到的问题是,我希望毕加索在listview项目进入视图之前开始加载图像,以便在用户看到它时有更好的机会加载它。问题是,它只有在listview项位于视图的正下方时才开始加载,因此用户大部分时间都会看到占位符图像。有没有什么好方法可以更快地开始加载图像,从而减少等待的时间?我不想在数据加载后立即下载所有图像,因为这会减慢速度。有什么建议吗?使用Picaso,您可以在显示之前使用fetch()函数加载缓存: Picasso.w

在安卓系统中,我有一个列表视图,其中包含使用毕加索从URL加载的图像。我遇到的问题是,我希望毕加索在listview项目进入视图之前开始加载图像,以便在用户看到它时有更好的机会加载它。问题是,它只有在listview项位于视图的正下方时才开始加载,因此用户大部分时间都会看到占位符图像。有没有什么好方法可以更快地开始加载图像,从而减少等待的时间?我不想在数据加载后立即下载所有图像,因为这会减慢速度。有什么建议吗?

使用Picaso,您可以在显示之前使用fetch()函数加载缓存:

Picasso.with(activity).load(imageUrl).fetch();

尝试使用picaso进行磁盘缓存..问题是何时执行此操作?我不想在我获得所有数据后立即这样做,因为这可能意味着加载30张用户从未看到的图片。您可以在滚动到那里之前加载一些图片。你不需要全部加载。这就是问题所在。在滚动图片之前,我如何加载图片你知道viewpager吗?保存在列表中的数据。当您滚动到位置i时,您可以使用fetch()来加载i,i+1,i+2。嗯,对同一张图片调用fetch三次是否重要。它不会提出那么多实际的要求,是吗?因为这样它会为i-2、i-1调用fetch,然后调用get on i