我正在尝试将 xml 文件加载到我的应用程序中并将其显示在列表框中。问题是该xml文件大约有5MB,在手机上加载大约需要40秒。当手机锁定屏幕并返回时,又需要 40 秒。我尝试使用isolatedstorage来存储数据,但它并没有提高性能。这是我加载数据的代码:
XDocument loadedData = XDocument.Load("BigFile.xml");
var data = from query in loadedData.Descendants("w")
orderby (string)query.Element("e")
select new myClass
{
First = (string)query.Element("a"),
Second = (string)query.Element("e")
};
ListBox.ItemsSource = data.ToList<myClass>();
有什么办法可以加快加载速度吗?
要提高性能,您可以执行以下操作:
- 确保加载已移出 ui 线程
- 将文件分成多个较小的文件,一次加载一个文件,并在添加每个文件时更新列表。
- 如果可能,请重新格式化数据(在添加到应用程序之前),以便它仅包含应用程序使用的绝对最小数据。
- 将文件转换为不同的格式(尝试 JSON),这样可以更快地解析。
- (如果使用 7.1)将数据放入数据库并将其部署在 XAP 中。
- 重新考虑是否需要这么多数据。大/长列表很难在小屏幕设备上浏览。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)