我需要显示一个项目列表,每个项目都包含文本和不同数量的图像。
我目前正在使用带有自定义适配器的ListView来显示这些项目。对于每个项目,我使用了带有LinearLayout的HorizontalScrollView来显示图像。在ListView的getView方法中,我读取每个项目的图像URI并动态创建ImageViews,然后异步加载图像。我使用ViewHolder来保存LinearLayout,其中包含每个项目的所有ImageView。
问题是,如果我向下滚动ListView并向后滚动,我将丢失该项目的内容,这意味着我必须再次加载图像。并且大多数图像太大并且加载速度非常慢。实际上在我的应用程序中,屏幕一次只能显示大约2或3个项目,因此滚动频繁发生。
我有一些想法可以改善这一点,但我不确定其中一个会改善效果。
任何建议都会有所帮助!谢谢!
答案 0 :(得分:0)
您可以使用 LazyLoading 来显示图片。您可以使用 Universal Image Loader 来实现此目的。延迟加载的作用是下载一次图像,缓存它并在后续请求期间从缓存中显示图像。