嗨我有一个Android应用程序的问题。我有一个包含位图和字符串的列表。
位图始终通过BitmapFactory
生成。我没有在自己的线程中,所以当列表变长时,页面的加载需要花费很多时间。
现在我的问题:
为用户提供顺畅的最简单方法是什么,所以他不必等待。最好的方法是首先显示字符串,然后在每个位图中显示加载条fpr,然后依次生成它。
但我应该为每个图像添加一个额外的线程或一个线程吗?
答案 0 :(得分:0)
请看以下主题:
Lazy load of images in ListView
特别是这个答案:https://stackoverflow.com/a/3068012/586859
您正在寻找的内容通常标记为“延迟加载”。此线程包含一种方法,可以缓存正在下载的图像,以加快图像加载速度。我建议您使用ListView
优化ViewHolder
,并使用类似于该帖子中的适配器来实现更流畅的视图。
答案 1 :(得分:0)
如果有很多图片,则无法为每个图片创建一个线程,因为它会抛出异常。最简单的Android方法是为这些作业创建一个AsyncTask,或者如果有大量文件则使用后台线程创建本地服务。如果你想要更优雅的方式,你可以使用java.util.concurrent。*;并为此作业创建一个线程轮询。