Android开发性能优化案例(2)app卡顿优化

本文介绍了如何使用systrace工具进行Android性能分析,通过抓取和解析设备日志,重点关注UI主线程,以识别卡顿原因。文章详细讲解了TraceView的使用,以及如何定位过度绘制问题,为开发者提供优化应用卡顿的实用方法。
摘要由CSDN通过智能技术生成

systrace是我们用来抓取一段时间之内的android设备上的数据指标的工具,我理解为: 设备运行日志,只不过这不是文本日志,而是一个html文件,需要使用谷歌浏览器的 [chrome://tracing/](()插件打开。具体步骤如下:
1、打开CMD,进入systrace目录:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9QWL6bff-1650867514573)(//upload-images.jianshu.io/upload_images/4100513-2ba5a71b11d0c333.png?imageMogr2/auto-orient/strip|imageView2/2/w/505/format/webp)]

2、输入 python systrace.py -b 32768 -t 5 -o mytrace.html wm gfx input view sched freq,然后回车
解释一下这一串命令(本文不做systrace命令的详解,这些东西都是死命令,百度即可):

  • python 将要执行python脚本
  • systrace.py 脚本名称
  • -b 设置缓存区大小
  • -t 抓取5秒日志
  • -o mytrace.html 输出到这个文件内
  • wm WindowManager 日志内包含windowManager信息
  • gfx Graphics 日志中包含图形绘制的信息
  • input Input 日志中包含设备输入的信息
  • view View System 日志中包含View系统的信息
  • sched CPU Scheduling 日志中包含CPU调度信息
  • freq 日志中包含CPU频率信息

这里有个坑:

在某些真机上,比如vivo X7,它会生成html文件失败,莫名其妙,我换成模拟器,就好了,尚未试验其它真机机型。

我使用网易mumu模拟器做实验的时候,得到如下结果:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e6dxmXhb-1650867514574)(//upload-images.jianshu.io/upload_images/4100513-70c7b7bf5cfa6589.png?imageMogr2/auto-orient/strip|imageView2/2/w/937/format/webp)]

3、得到文件之后,打开谷歌浏览器:在地址栏输入 chrome://tracing/ 然后load刚才的文件:( 或者你双击该html文件)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h2ZEwfB5-1650867514575)(//upload-images.jianshu.io/upload_images/4100513-8f6e5fcdc286dfb8.png?imageMogr2/auto-orient/strip|imageView2/2/w/1200/format/webp)]

4、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值