Android应用anr日志文件导出和问题查找步骤

一、前言

APP在运行过程中,因为使用大量的耗时操作在主线程中,导致主线程阻塞,进而表现出应用卡住没有反应的情况,这个时候,系统就出手了,弹出提示框:应用暂时没有反应,是选择“等待”,还是“停止”。这种现象,就是所谓的应用ANR问题。好在framework系统已经有系统地监控anr问题了,遇到应用anr,系统会自动在目录下将anr日志记录下来,写在文件里,开发者可以通过导出的方式,将日志导出来,以便查找anr的原因。但是为了保护手机隐私,这里无法通过查看目录找到anr文件目录了。下面告诉你怎么导出anr文件夹,然后跟踪问题。

二、步骤

1、导出。这里我们使用程序员最便捷的方式来导出anr文件,使用开发工具as自带的adb工具:Terminal。adb本身自带Android Debug Bridge,输入命令: adb bugreport xxx.zip。xxx.zip是压缩文件名。

输入导出命令

这个时候,打包的zip文件就在你工程的根目录下,也就是你adb所在的目录下面,所以特别方便,拿到立即就可以跟踪问题。

2、跟踪。解压文件之后,anr日志在FS\data\anr文件夹下面,可以使用Notepad打开文件。跟踪anr问题,主要就找main线程,搜索关键词“main”即可,然后一步一步往下跟,找到自己的项目代码。

跟踪anr问题

3、优化。这个部分就是找代码这里是否有在主线程里执行的耗时操作,找到可以采用子线程的方式运行。优化是解决anr问题的关键,我也在学习中。

三、结尾

导出anr问题和跟踪问题都比较简单。主要是平时写代码过程中,要养成良好的代码习惯,这样自然而然anr问题就减少了。有些耗时操作,是native方法。我们可能不太清楚,所以也就无法完全规避,只要发现了,优化就好。

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值