当然大部分都是sf layer泄露,或系统重要服务crash导致
1 有无输入指令及截图内容
adb shell getevent lrt
adb shell input keyevent 120
2 log中搜索有无背光的关键字(fg:backlight)
3 磁盘信息
adb shell df -h 查看data分区
4 查看system_server进程号是否很大或是否起来了
5 查看是否有watchdog或native 或java crash (fg:androidruntime,debug,signal)
6 查看cpu及io情况,top -m 10>top.txt
7 内存信息
adb shell cat /proc/meminfo | grep MemFree
adb shell dumpsys meminfo com.aaaa.systemservice(不跟就是所有的pss,rss等分布)
另外可能需要打印实时trace出来:
堆栈信息代码中
Log.d("ygn","STATCK", new RuntimeException("mystack"));
#include <utils/CallStack.h>
android::CallStack stack(("mystack"));
trace信息
//java
adb shell kill -3 [pid] // Process.sendSignal(pid, Process.SIGNAL_QUIT)
//native
Process.sendSignal(pid, Process.SIGNAL_QUIT)
adb shell debuggerd -b 1017 >log.txt //Debug.dumpNativeBacktraceToFile(pid, tracesPath)
//kenel
adb shell cat /proc/[tid]/stack
WatchDog.dumpKernelStackTraces()