31

1) 独占时间是在方法中花费的时间 2) 包含时间是在方法中花费的时间加上在任何被调用函数中花费的时间 3) 我们将调用方法称为“父”,将被调用方法称为“子”。参考链接:点这里

这里的问题是:

有什么区别

  • 包括 CPU 时间和包括实际 CPU 时间?
  • 不包括 CPU 时间和不包括实际 CPU 时间?

在我的 Method1() 示例跟踪文件中:Incl CPU Time = 242 msec & Incl Real CPU Time = 5012 msec

  • 我无法确定上述两次 5012-242 = 4770 毫秒差距背后的原因。

如果您有任何想法,请帮助我。

4

3 回答 3

39

这是 DDMS 文档

包含 CPU 时间是包含的 CPU 时间。它是函数本身用时间的总和,也是它调用的所有函数的时间总和。

Excl CPU time是独占 cpu 时间。它只是花在函数本身上的时间。您会注意到它始终与“self”孩子的“incl time”相同。

该文档没有阐明CPU timereal time之间的区别,但我同意 Neetesh 的观点,即 CPU time 是函数实际运行的时间(这不包括等待 IO),而 real time 是挂钟时间(这将包括花在做 IO 上的时间)。

于 2013-07-27T21:36:46.450 回答
10

cpu time是进程使用cpu的时间,cpu real time是从进程开始到进程结束的总时间,它包括进程执行的等待时间。

于 2013-04-25T04:00:48.230 回答
0

从.trace的源码可以看到cpu时间细节和真实cpu时间不同,和android文档的描述一样:CPU时间只考虑线程主动使用CPU时间的时间,真实的time 提供从你的应用程序进入一个方法的那一刻到它退出该方法的绝对时间信息——不管线程是活动的还是休眠的。

于 2018-08-01T10:03:24.790 回答