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

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、

你可能感兴趣的:(Android,经验分享,面试,android)