Время выполнения процесса в Android - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь измерить, насколько быстро с момента запуска приложения в моем приложении выполняются определенные операции. Для этого я пытаюсь использовать 2 метода:

Согласно моему пониманию, getElapsedCpuTime возвращает количество миллисекунд с момента запуска приложения, а getStartElapsedRealtime возвращает время, когда приложение было запущено. Из-за этого, если я вычту Process.getStartElapsedRealtime из 'SystemClock.elapsedRealtime () I should get a similar value as one returned from Process.getElapsedCpuTime`.

, вот пример реализации:

Long processStartTime = Process.getStartElapsedRealtime();
Long systemClock = SystemClock.elapsedRealtime();
long processTime = systemClock - processStartTime;


Long elapsedTime = Process.getElapsedCpuTime()

//processTime should have a similar value to elapsedTime

Когда я реализовал выше, то Я заметил, что SystemClock.elapsedRealtime() - Process.getStartElapsedRealtime() отличается от Process.getElapsedCpuTime(). Иногда разница составляет всего 500 миллисекунд, но иногда SystemClock.elapsedRealtime() - Process.getStartElapsedRealtime() в 2 раза больше, чем Process.getElapsedCpuTime()

Почему существует разница между этими двумя временными показателями?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...