转 -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 转载请注明,肆意删除链接,我们将保留追责权利。
转 -android:程序无响应,你该如何定位问题?的更多相关文章
- 软件看门狗--别让你地程序无响应(使用未公开API函数IsHungAppWindow,知识点较全)
正文一.概述一些重要的程序,必须让它一直跑着:而且还要时时关心它的状态——不能让它出现死锁现象.当然,如果一个主程序会出现死锁,肯定是设计或者编程上的失误.我们首要做的事是,把这个Bug揪出来.但如果 ...
- 【android】android下防止anr程序无响应
public class AnrActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState ...
- Android ANR(应用无响应)解决分析【转】
本文转载自:https://blog.csdn.net/u014630142/article/details/81709459 来自: http://blog.csdn.net/tjy1985/art ...
- 测试人员遇到Android APP崩溃和无响应手足无措?
这2天,在测APP兼容性时,遇到APP奔溃闪退的情况.将问题反馈给开发后,开发自己调试后,没有复现.由于又是远程,base地不在一块,我总不能把手机寄过去吧,那也太费事了. 所以就想到,提供明确的报错 ...
- Win8/Win10下程序经常无响应的解决办法
如果你使用Win8/Win10系统时经常出现程序无响应的问题不仿试下如下解决办法. 表现症状: 任何程序都有可能出现无响应(记事本.Visual Studio.QQ.视频播放器等) 一旦一个程序出现未 ...
- 如何避免Android程序的ANR?
In Android, the system guards against applications that are insufficiently responsive for a period o ...
- 安装vb6 正在更新系统 无响应
新装的win10系统,安装vb6时,最后一直卡在“正在更新系统”,程序无响应,没办法,kill掉后,貌似不影响软件使用,但是安装vs6sp6B无法成功安装. 解决办法是: 不安装“数据访问”组件. 参 ...
- 解决httpclient设置代理ip之后请求无响应的问题
httpclient这个工具类对于大家来说应该都不陌生吧,最近在使用过程中出现了碰到一个棘手的问题,当请求的接口地址由http变成https之后,程序执行到 httpClient.execute(ht ...
- android stuido 在线安装svn插件,添加版本库无响应
问题:android stuido 中在线安装svn插件,添加版本库无响应. 原因: 由于android stuido 版本较高,在线安装1.6x 版本的svn,添加版本库一直没有响应,最后卡死.. ...
随机推荐
- java的nio之:java的nio系列教程之serverSocketChannel
Java NIO中的 ServerSocketChannel 是一个可以监听新进来的TCP连接的通道, 就像标准IO中的ServerSocket一样.ServerSocketChannel类在 jav ...
- 转-OpenJDK源码阅读导航跟编译
OpenJDK源码阅读导航 OpenJDK源码阅读导航 博客分类: Virtual Machine HotSpot VM Java OpenJDK openjdk 这是链接帖.主体内容都在各链接中. ...
- Scala vs. Groovy vs. Clojure
http://stackoverflow.com/questions/1314732/scala-vs-groovy-vs-clojure Groovy is a dynamically typed ...
- Java文件读写操作指定编码方式。。。。。
读: File file=new File(this.filePath);BufferedReader br=new BufferedReader(new InputStreamReader(new ...
- pyzmq missing when running ipython notebook
Q: I can run iPython, but when I try to initiate a notebook I get the following error: ~ ipython not ...
- 【转】div弹出窗口的制作
来自:http://www.21shipin.com/html/95347.shtml 可以覆盖父窗口,可以移动的,做了关闭按钮 <html> <head> <scrip ...
- 解决:错误 14274: 无法添加、更新或删除 SQL 服务器上的作业的问题一例
今天在修改 SQL服务器上 以前的作业任务,打算把作业的执行时间修改成新的时间,结果修改好点确定, 结果出现了以下错误! --------------------------- Microsoft ...
- Hadoop 源码编译导出
https://svn.apache.org/repos/asf/hadoop/common/branches/branch-trunk-win/BUILDING.txt http://www.src ...
- web.xml中contextConfigLocation的作用
如果在web.xml里给该Listener指定要加载的xml,如: xml代码如下: <!-- spring config --> <context-param> <pa ...
- 【jmeter】JMeter函数学习
JMeter函数是一些能够转化在测试树中取样器或者其他配置元件的域的特殊值.一个函数的调用就像这样:${_functionName(var1,var2,var3)},-functionName匹配函数 ...