日常用到的一些指令需要搬家了,这里记录下
这里以pid号:3902为例
1 内存
adb shell dumpsys meminfo com.pateo.naviauto.hmi
查看app各层详细的内存分布及数据库分布
adb shell free 查看剩余内存
adb shell vmstat查看cpu占用时间:(us: user time id: idle time wa: iowait time)
adb shell cat proc/3902/status里面的thread对应的就是线程数 fdsize就是fd个数
adb shell ps -T -p 3902 可以查看对应的线程id,名称
adb shell top -H -p 3902 :可以查看线程总数,睡眠数,pr:线程优先级
可以找到对应的线程数,查看优先级,(渲染+主一般是-19,其他默认就行)
adb shell dumpheap com.xxx.xxx /sdcardyang.hprof 保存prof文件
2 cpu:
adb shell cat /proc/stat:几核,什么架构
adb shell top :cup% 总数 idle% 空闲,相减就是占用率
3 启动关键字
启动完成后第一帧的log打印关键字:Displayed,可以根据这个计算启动时间
ActivityTaskManager: Displayed com.pateo.naviauto.hmi/com.pateonavi.naviapp.activity.MainActivity: +3s914ms
最接近第一帧完成的生命周期是
onWindowFocusChanged,可以在这个里面做一些延时加载的操作
4 window层级打印:
adb shell dumpsys window