摘要: Android Monitor 很强大,有5个模块,Memory、Network、logcat、CPU、GPU。 现在分5篇文章分别介绍。
四、CPU
这个模块可以监控方法执行的时间轴,可以监测到每个方法的耗时,比较实用。
图一中选中行是app自己写的方法,可以看到执行的时间。
Inclusive time - 函数本身运行花费时间 + 函数调用其他函数时间
Exclusive time - 函数本身运行花费时间。
Invocation count - 是调用次数。
如果app卡顿现象,那么用此模块可以快速定位出比较耗时的方法。
这张图可以这么解释。
横向矩形:仔细看,横向矩形中其实包括多个色块,每一个色块代表一个方法。关系是这样的
void fun(){
A();
B();
}
A,B的关系就是横向矩形要代表的关系。从左到右,就是从A到B。
纵向矩形:也包括多个色块,每一个色块代表一个方法。那它的关系是这样的:
void fun(){
A();
B();
}
void A(){
C();
}
A,C的关系就是纵向矩形要代表的意思。从上到下,就是从A到C。
画出关系图是这样的:
func的时间等于执行A,B的时间之和,执行A的时间等于执行C的时间。
出现了重复的色块区域。比如纵向矩形出现了多次,那么可以判断这个线程是做了循环操作。色块的横向。
Wall Clock Time 和Thread Time的区别是,Wall Clock Time 包括了Thread Sleep的时间,而Thread Time不包括。