traceview
它利用android的runtime函数调用的event事件,将函数运行的耗时和调用关系写入到trace文件中,它会监控整个过程中有哪些函数调用,但是该工具本身带来的性能开销很大。
systrace
是Android4.1新增的分析工具,利用了linux的ftrace调试工具,相当于在系统各个关键地方增加了一些性能探针。
编译插桩方式
在重要的函数入口和出口添加trace.beginSection和trace.endSection,这样的好处是可以看到整个应用程序的调用过程,性能也可以接受。
simpleperf
native层分析调用的时间占比
监控卡顿方式
消息队列,替换looper中的printer实现(因为logger是可以设置的)
每一秒钟发送一个消息插入到头部,假设1s这个消息没有被消耗掉,说明阻塞消息在0-1s。
生命周期监控
线程监控