zoukankan      html  css  js  c++  java
  • ANR与Crash

    ANR是应用无响应,crash是崩溃闪退等
    ANR原因:线程阻塞,输入性事件在特定时间内无法完成
    crash原因:内存不足,数据转换异常

    ANR问题:
    1.log文件夹下全局搜am_anr,此时会把log文件下下所有的包含am_anr的行显示出来(也可以搜activitymanager: ANR)
    2.一般同一个时间点的anr log会在不同的文件中出现两次,一次是logxxx.txt中,一次是在crash_xxxxxx文件夹中的aplog_ANR_时间文件中
    3,进入到crash_xxxxxx文件夹下,找到一个data_app_anr@xxx.txt文件
    4,在data_app_anr@xxx.txt文件中找到"main" prio=5 tid=1 Nativ这一行,往下看会有一些异常log,这些log描述的就是问题原因

    ANR如果是由于主线程阻塞,在data_app_anr@xxx.txt中的"main" prio=5 tid=1 中会显示 block

    在处理ANR问题时,找到在log文件中找到ANR log出现的节点,然后要往上看一部分,因为有些log是自动化测试在模拟点击事件,反复点击或者进入一个应用,往上看一部分log有助于分析在ANR之前手机有哪些操作。

    解决方案:异步

    Crash问题:
    1.log文件夹下全局搜am_anr,此时会把log文件下下所有的包含am_crash的行显示出来
    2.crash问题很好看,基本上就代码写的有问题,针对出现的问题修改一下就好

    友情提醒
    分析log时往往要全局或者是整个文件下搜索,找一个自己用的顺手的文本编辑器很重要,本人使用的是sublime,它可以导入整个文件夹,搜索起来很方便

    声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作
  • 相关阅读:
    C#随机数字生成的一种方法
    SqlServer2012自增主键跳跃增长的问题解决方案
    Mysql5.7初始化成空密码或随机密码的方式
    StyleCop的常见错误
    数据库同步相关的SQL语句
    Linux Shell角本中的条件判断
    Linux(CentOS)中使用Mono+jexus部署Asp.net4.5网站
    Mina.Net实现的UDP多路广播
    Linux CentOS 6.6安装JDK1.7
    linux 常用命令
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/14952168.html
Copyright © 2011-2022 走看看