Performance 减少LongListSelector在启动时创建的项目数

Performance 减少LongListSelector在启动时创建的项目数,performance,windows-phone-8,longlistselector,Performance,Windows Phone 8,Longlistselector,我知道,LongListSelector实现了UI虚拟化,即它创建了大量足以填满屏幕的项目,再加上更多的项目,然后随着用户对内容的嘲笑,LongListSelector将其回收,而不是创建新的项目 在我的例子中,6个项目足以填满屏幕,经过一些研究,我发现LongListSelector在启动时加载20-22个项目。我认为这可以安全地减少到10项左右。问题是,最初创建的项目的数量能否以某种方式减少?,似乎没有任何方法或属性允许自定义默认情况下LongListSelector所做的UI虚拟化量 你可

我知道,
LongListSelector
实现了UI虚拟化,即它创建了大量足以填满屏幕的项目,再加上更多的项目,然后随着用户对内容的嘲笑,
LongListSelector
将其回收,而不是创建新的项目

在我的例子中,6个项目足以填满屏幕,经过一些研究,我发现
LongListSelector
在启动时加载20-22个项目。我认为这可以安全地减少到10项左右。问题是,最初创建的项目的数量能否以某种方式减少?

,似乎没有任何方法或属性允许自定义默认情况下
LongListSelector
所做的UI虚拟化量

你可以研究数据虚拟化,但这不应该是太多的工作使用


另一个想法,我还没有尝试过,是从WP工具包中获取,重命名,然后定制它。但这可能需要大量工作。

您是否有性能问题?
LongListSelector
经过优化,除非您的
ItemTemplate
非常复杂,否则我不认为默认的UI虚拟化是一个问题。在某种程度上,是的。我有一些正在创建并动态添加到场景中的用户控件,其中包含LongListSelector,当LongListSelector第一次加载项目时,会出现非常小但有时很明显的问题。我在文档中没有看到任何关于此项的帮助。我确实找到了一些关于和的相关帖子。我想数据虚拟化可能是答案,但我基本上使用了
observateCollection
及其数据绑定功能,如
Add
Remove
,而不是
IList
类。是否有任何方法可以将它们结合起来以获得高级绑定支持和数据虚拟化?对于自定义的
ObservableCollection
,您可以使用。我还有另外一个建议,有点疯狂,就是从WP工具包中获取WP7版本的
LongListSelector
,重命名然后定制它——我可能会从所有这些建议中得出答案。