我正在开发一个应用程序,我似乎花了很长时间才能获取我的数据(30-40 秒),所以我设置了一个低调分析器来检查问题出在哪里。
老实说,我仍然不知道问题出在哪里。我发现我可以快速(在 5-6 秒内)从我的服务中取回我的数据,将其全部美化以供显示,然后发送一条消息以通知我的 ViewModel 数据已准备好显示(使用 MVVM Light Messaging)。 .. 然后我的渲染线程会阻塞 10-40 秒。
这就是我不明白的事情。我的 UI 线程做得很好......用我在页面上的自定义进度动画制作它的小心脏。而且我通过 Messenger 发送的对象非常小(只有几个布尔值,指示可以在哪里找到数据以及它的外观)。
但是渲染线程(响应屏幕触摸事件的线程)被完全阻塞了。当线程最终解除阻塞时,我一次触摸以移动我的枢轴控件和所有触摸数据寄存器。
我去了 Windows Phone 性能分析,认为问题出在哪里会非常明显(我想我会看到 CPU 飙升到 100%,我可以追踪杀死我的函数)但它没有似乎没有注意到任何异常,通常的 UI 线程占据了节目,但没有任何异常。
我完全糊涂了。Mango 中有什么我需要注意的东西会严重阻塞我的渲染线程吗?