码迷,mamicode.com
首页 > 移动开发 > 详细

转 -android:程序无响应,你该如何定位问题?

时间:2015-07-01 12:10:10      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

 

如果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  转载请注明,肆意删除链接,我们将保留追责权利。

转 -android:程序无响应,你该如何定位问题?

标签:

原文地址:http://www.cnblogs.com/awkflf11/p/4612734.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!