WPF程序,运行时偶尔会出现窗体无响应,大家都是怎样排查原因和解决的?
WPF程序,运行时偶尔会出现窗体无响应。
大家都是怎样排查和解决的?
win7下:
XX未响应
尝试还原此程序
关闭程序
等待程序响应
对窗体进行操作时,不一定什么时候会出现,而且是偶尔出现。
找不出具体是哪里的原因。
大家遇到类似情况有什么好方法没?
还有,可否让窗体未响应时默认选择“尝试还原此程序”呢?
------解决方案--------------------一个操作内处理很多任务时会出现,我的解决办法就是不一次性完成很多功能
------解决方案--------------------
你就调试着呗,等到没响应了暂停一下,看看运行到哪里了,还有你的程序处理部分和UI分开了没?
------解决方案--------------------开调试一直跑,出现问题暂停下。调试一跑就n个小时不是很正常吗
------解决方案--------------------
用异步方式,其目标就是不让这段内容在主线程(UI Thread)中进行
可以考虑几个方法,
1. new Thread
2. BackgroundWorker
完成后BeginInvoke/Invoke回主线程更新UI内容
------解决方案--------------------
------解决方案--------------------可能是你那个获取天气的请求地址服务器速度太慢,或者是无法获取的请求数据在请求等待中
优化你的请求逻辑,减少队请求资源的占用等
------解决方案--------------------显然应该用异步处理。 比如 DonwloadStringAsync 这样的方法。