所以我知道我们可以等待ListView加载,然后显示它。但是,在我们动态加载正在下载的图像的情况下,ListView将加载但图像将不会被加载,因此它们不会出现在ListView中。
等待ListView加载所有图像,然后显示ListView的可接受方式是什么?
我正在考虑发送广播事件的行,当CustomArrayAdapter加载最后一个元素的图像,然后广播一个所有加载已完成的事件。然而,对于这样一个琐碎的任务来说,这似乎是不必要的。
我很感激您的任何意见。
答案 0 :(得分:1)
没有可接受的等待加载所有图像的方法。立即显示列表并在图像可见时加载图像通常是一件好事。这样,您就不必浪费时间和带宽来加载用户永远不会滚动到的图像。这有其自身的问题,例如处理回收的视图,但它提供了更好的用户体验,因为您不必等待很长时间(可能)下载大图像。
如果你真的想让用户等待,你应该在后台用IntentService下载图像并将它们放在某种内存或磁盘缓存中(http://square.github.io/picasso/库会为你做这个),然后像你建议的那样完成广播。看看LocalBroadcastManager!
答案 1 :(得分:0)
为了获得更好的用户体验,您不应该加载所有图像,因为它可能会严重冻结Ui通常在用户滚动时加载更好我通常建议使用Volley库来加载和缓存图像检查这个链接Volley lib tutorial