Windows Phone(芒果)渲染线程被阻止

时间:2011-09-12 05:11:18

标签: silverlight mvvm-light windows-phone-7 windows-phone-7.1

我正在开发一个应用程序,看起来我花了很多时间来获取我的数据(30-40秒),所以我设置了一个低调的分析器来检查并查看问题所在是

老实说,我还是不知道问题出在哪里。我发现我从我的服务中快速获取数据(在5-6秒内),将其全部用于显示,然后发送消息以通知我的ViewModel数据已准备好显示(使用MVVM Light Messaging)。 ..然后我的渲染线程会阻塞10-40秒。

这就是我没有得到的东西。我的UI线程做得很好......通过我在页面上的自定义进度动画动画它的小心脏。我通过Messenger发送的对象是超小的(只有几个布尔值表示可以找到数据的位置和它的外观)。

但渲染线程(响应屏幕触摸事件的那个)完全被阻止。当线程最终解锁时,我触摸移动我的枢轴控制和所有触摸数据寄存器。

我进入了Windows Phone性能分析,认为问题会非常明显(我认为我会看到CPU峰值达到100%并且我可以找到杀死我的功能)但它似乎没有注意到任何异常,通常的UI线程占据了节目,但没有任何异常。

我完全糊涂了。 Mango中是否有一些我需要注意的东西会严重阻塞我的渲染线程?

1 个答案:

答案 0 :(得分:0)

我想我们需要看一些代码。另请注意,GetIsNetworkAvailable可能需要20秒才能返回结果。你提到你正在获取数据,所以你可能正在UI线程上调用这个函数。