很多应用程序都是像whatsapp这样的聊天程序。因此,它不需要一次显示所有消息。除非用户滚动并查看过去的消息,否则只应在启动时向用户显示最后的消息。
我有一个ScrollView,它包含大量(大约1000)个元素(messeges)。因此它在性能方面效率不高,因为它一次加载并显示所有元素。
在大多数情况下,它无法加载msgs的整个历史记录。
(我已经考虑过将这些消息分成几部分并手动选择仅加载它们)
此功能是否内置了ListView或RecycleView。
我的意思是我们将所有元素加载到ListView,它是否能够智能地处理在特定时间(或滚动级别)屏幕中显示的元素?
答案 0 :(得分:4)
是的,使用ListView
或RecyclerView
的主要原因是它们为您提供View
重复使用。它不会一次性加载所有子视图:它会要求您在需要时将数据绑定到View
。
答案 1 :(得分:1)
此功能是否内置了ListView或RecycleView。 我的意思是虽然我们将所有元素加载到ListView,它是否能够智能地处理在特定时间(或滚动级别)屏幕中显示的元素?
是的,这正是ListView所做的。滚动它会慢一些,但它只需要一定量的内存。