Android性能优化-响应速度优化和ANR日志分析

响应速度优化和ANR日志分析

快速响应的核心思想是,避免在主线程中,做耗时操作,可以将耗时操作放在子线程,因为在activity中,5s未响应屏幕触摸或者按键响应,就会出现ANR,而BroadCastReceiver如果在10s内没有处理完操作,也会ANR。所以ANR出现后,在代码中很难排查,但开发过程中,如果出现ANR,会在系统的/data/anr目录下,生成一个traces.txt文件。通过这个文件,我们可以分析出,具体原因。

下面我们通过两个简单例子,说明如何分析ANR

  • 在onCreate方法中,休眠30s来模拟ANR:
    在这里插入图片描述
    注意:anr文件导出,这里书中描述方法为 adb pull /data/anr/traces.txt
    但实际开发中,这部分会遇到无权限或者文件不存,如下:
    在这里插入图片描述
    我们可以通过abd bugreport+导出路径,这样会导出一个,已当前时间戳的压缩包,例如:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个Bug有点难搞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值