Windows Phone 7 - 加速数据提取的最佳实践

时间:2011-03-15 14:28:12

标签: web-services windows-phone-7 odata wcf-data-services

我有一个Windows Phone 7应用程序(当前)调用OData服务来获取数据,并将数据抛出到列表框中。现在它非常缓慢。我能想到的第一件事是因为OData返回的数据比我实际需要的多。

有哪些建议/最佳做法可以加速在Windows Phone 7应用中获取数据?我可以在应用程序中做些什么来加快数据检索并更快地进入用户面前?

3 个答案:

答案 0 :(得分:5)

听起来你已经有了一些关于追逐什么的线索。

我尝试的一些基本事项是:

  1. 尽可能减少您的HTTP请求 - 如果可能,只获取您绝对需要的实体和字段。
  2. 考虑使用多个HTTP请求以递增方式获取数据,而不是一次性获取所有内容(当然,这可能会使应用程序变慢,但通常会让应用感觉更快)
  3. 对于大型文本传输,请确保正在压缩内容以进行传输(这应该在HTTP级别进行)
  4. 请注意,渲染数据的XAML不会过于膨胀 - 列表中重复的大型XAML结构会导致速度变慢。
  5. 优化时,永远不要假设您知道速度问题在哪里 - 始终先测量!
  6. 将图像插入列表时要小心 - MS MarketPlace应用程序通常似乎在我的手机上断断续续 - 我认为这是由图像提取和渲染过程引起的。

答案 1 :(得分:2)

除了Stuart的精彩列表之外,还要考虑发送数据的格式。

结帐this blog post by Rob Tiffany。它讨论了基于数据格式的性能。它是专门针对WCF编写的,但这些要点仍然适用。

答案 2 :(得分:1)

作为斯图亚特名单的延伸:

实际上有3个方面 - 通信,解析,UI。单独测量它们:

  • 只关闭与处理的通信。
  • 测量解析固定的ODATA格式的字符串。

无论你是否相信它也可以是用户界面。

例如,ProgressBar的错误使用会导致处理速度急剧下降。 (一般情况下,您不应使用here解释的任何UI动画。)

另外,请确保UI处理不会阻止数据通信。