我有一个(数千)数据的集合已保存在我的隔离存储中。问题是,在我从中获取集合并将其绑定到我的列表框后,加载速度非常慢。处理这种情况的最佳方法是什么?
答案 0 :(得分:3)
快速的最佳方法是不使用包含数千个项目的集合。
哪一部分很慢?
如果它正在从IsolatedStorage读取,请阅读更少 如果您不需要将所有数据放在较小的文件中(分割数据)并且只根据需要加载文件,而不是一次加载所有数据。根据数据和应用程序将影响如何以及是否可以这样做。
如果它将大量数据加载到ListBox中,请不要 ListBox不是为了容纳数千件物品而设计的 从可用性的角度来看,很难在一个非常大的列表中找到特定的项目。特别是当您一次只能看到极少数项目(在屏幕上)时 考虑使用LongListSelector或虚拟化列表以提高性能。
我强烈推荐一种不同的应用程序设计,但不需要很长的列表。
答案 1 :(得分:0)
如果您实际上是将文件本身从隔离存储中读取到列表中,则可以通过将文件元数据存储在XML文件或某种数据库中来提高性能。对于Windows Phone 7.0,您可以使用SterlingDB,它是隔离存储的抽象,允许您对存储在应用程序文件系统中的数据执行SQL查询。
创建包含数千个项目的列表似乎是个坏主意,但是如果你有一个包含文件名和数据的XML文件,那么你可能会获得比你试图循环数千个文件更好的性能。文件和拉出文件名。