この行は次のように印刷されcom.android.server.am.ActivityRecord.reportLaunchTimeLocked
ます。
private void reportLaunchTimeLocked(final long curTime) {
final ActivityStack stack = task.stack;
final long thisTime = curTime - displayStartTime;
final long totalTime = stack.mLaunchStartTime != 0
? (curTime - stack.mLaunchStartTime) : thisTime;
if (ActivityManagerService.SHOW_ACTIVITY_START_TIME) {
Trace.asyncTraceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER, "launching", 0);
EventLog.writeEvent(EventLogTags.AM_ACTIVITY_LAUNCH_TIME,
userId, System.identityHashCode(this), shortComponentName,
thisTime, totalTime);
StringBuilder sb = service.mStringBuilder;
sb.setLength(0);
sb.append("Displayed ");
sb.append(shortComponentName);
sb.append(": ");
TimeUtils.formatDuration(thisTime, sb);
if (thisTime != totalTime) {
sb.append(" (total ");
TimeUtils.formatDuration(totalTime, sb);
sb.append(")");
}
Log.i(ActivityManagerService.TAG, sb.toString());
}
mStackSupervisor.reportActivityLaunchedLocked(false, this, thisTime, totalTime);
if (totalTime > 0) {
//service.mUsageStatsService.noteLaunchTime(realActivity, (int)totalTime);
}
displayStartTime = 0;
stack.mLaunchStartTime = 0;
}
「通常時間」とは、基本的Activity
に が起動されてから のコンテンツ ビューが描画されるまでのActivity
時間です (描画時間を含む)。
「合計時間」には「通常の時間」が含まれ、以前の s の起動にかかった時間も考慮されますActivity
。
通常、「通常時間」は「合計時間」と同じです。ソースコードを見ればわかる
if (thisTime != totalTime) {
sb.append(" (total ");
TimeUtils.formatDuration(totalTime, sb);
sb.append(")");
}
「合計時間」は「通常時間」と異なる場合のみ出力されます。通常、アクティビティ A の中でアクティビティ B が起動された場合、アクティビティ BonCreate
の「通常の時間」は「合計時間」とは異なります。