在我们的应用程序中,我们有一个场景,我们想要显示搜索结果。搜索结果可以显示为列表或详细视图。我们正在使用listview,因为listview默认使用UI虚拟化。
我的问题是如何改善应用程序的性能? 1)保持单个列表控制与两个不同的视图。 2)使用两个Listview控件并绑定可见性属性。
使用第一个选项我观察到如果搜索记录增加到1000以上,则需要花费大量时间在列表和详细视图之间切换。
对于第二个选项,我必须执行相同的绑定并设置可见性属性。
请建议使用哪种方法,或者在这种情况下我们可以使用哪种方法更好。
谢谢,
答案 0 :(得分:1)
使用第二个选项。
用户通常会接受这样的事实:当他们尝试更改视图时,视图可能会重置。
因此,在将数据显示给用户之前,请勿将数据填充到其他ListView
中。
并且Marvin
是正确的,同时将大量数据加载到视图中并不是一个好主意。为防止这种情况,请使用Virtualization
。
答案 1 :(得分:0)
问题是:你真的需要在视图中显示所有1000个元素吗?一种可能的优化可能是简单地一次加载100个,然后当用户到达视图的末尾时,再加载100个结果。