轉 -android:程序無響應,你該如何定位問題?


 

如果MainThread長時間無響應,系統會提示“XXX無響應”,然后用戶會關閉。那么,如何定位問題呢?無響應並不像Crash,它抓取不到異常日志,通常我們需要調試,才能定位問題。如何調試呢?

1.在Eclipse Devices窗口,選中app對應的包名,然后點擊debug圖標(綠色的小蟲子),然后切換到Debug視圖

2.切換視圖之后,可以看到debug下,app的線程列表

3.對於main線程(第一個線程),選中,並將其掛起Suspend

4.然后我們就可以看到,Suspend之后,main線程卡住的位置:

可以看出,main線程在調用pauseBubbleAndHide時,surfaceView無法lockCanvas造成頁面卡住。經后續排查發現,在掉用這個方法之前,lockCanvas和unlockCanvasAndPost沒有成對出現照成的,上一次lock之后,沒有unlock,照成再次lockCanvas時,無法響應。然后解決問題。

以上介紹了調試程序無響應的步驟。

與本文無關:世爵娛樂平台www.cnzznew.com  轉載請注明,肆意刪除鏈接,我們將保留追責權利。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com