- am_low_memory:位于AMS.killAllBackgroundProcesses或者AMS.appDiedLocked,记录当前Lru进程队列长度。
- am_pss:位于AMS.applyOomAdjLocked或者AMS.requestPssLocked
- am_meminfo:位于AMS.dumpApplicationMemoryUsage
- am_proc_start:位于AMS.startProcessLocked,启动进程
- am_proc_bound:位于AMS.attachApplicationLocked
- am_kill: 位于ProcessRecord.kill,杀掉进程
- am_anr: 位于AMS.appNotResponding
- am_crash:位于AMS.handleApplicationCrashInner
- am_wtf:位于AMS.handleApplicationWtf
- am_activity_launch_time:位于ActivityRecord.reportLaunchTimeLocked(),后面两个参数分别是thisTime和 totalTime
- am_activity_fully_drawn_time:位于ActivityRecord.reportFullyDrawnLocked, 后面两个参数分别是thisTime和 totalTime
- am_broadcast_discard_filter:位于BroadcastQueue.logBroadcastReceiverDiscardLocked
- am_broadcast_discard_app:位于BroadcastQueue.logBroadcastReceiverDiscardLocked
android/frameworks/base/core/res/res/layout/app_error_dialog.xml:41: android:text="@string/aerr_close_app"
android/frameworks/base/core/res/res/layout/app_anr_dialog.xml:28: android:text="@string/aerr_close_app"
<string name="aerr_application" msgid="250320989337856518">"<xliff:g id="APPLICATION">%1$s</xliff:g>已停止运行"</string>
<string name="aerr_process" msgid="6201597323218674729">"<xliff:g id="PROCESS">%1$s</xliff:g>已停止运行"</string>
<string name="aerr_application_repeated" msgid="3146328699537439573">"<xliff:g id="APPLICATION">%1$s</xliff:g>屡次停止运行"</string>
<string name="aerr_process_repeated" msgid="6235302956890402259">"<xliff:g id="PROCESS">%1$s</xliff:g>屡次停止运行"</string>
// 5-minute timeout, then we automatically dismiss the crash dialog
frameworks/base/services/core/java/com/android/server/am/AppErrorDialog.java
"aerr_process" 有多个apk应用该进程
"aerr_application" 只有一个apk应用该进程
frameworks/base/services/core/java/com/android/server/am/AppErrors.java
handleShowAppErrorUi
/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
case SHOW_ERROR_UI_MSG:
frameworks/base/services/core/java/com/android/server/am/AppErrors.java
crashApplicationInner
msg.what = ActivityManagerService.SHOW_ERROR_UI_MSG;
crashApplication
frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
handleApplicationCrashInner
handleApplicationCrash
--------------------------------------------------------
<string name="anr_activity_application" msgid="8493290105678066167">"<xliff:g id="APPLICATION">%2$s</xliff:g>没有响应"</string>
<string name="anr_activity_process" msgid="1622382268908620314">"<xliff:g id="ACTIVITY">%1$s</xliff:g>没有响应"</string>
<string name="anr_application_process" msgid="6417199034861140083">"<xliff:g id="APPLICATION">%1$s</xliff:g>没有响应"</string>
<string name="anr_process" msgid="6156880875555921105">"进程“<xliff:g id="PROCESS">%1$s</xliff:g>”没有响应"</string>
-------------------
1、崩溃
02-15 11:37:27.373 W/ActivityManager( 4235): Force finishing activity com.android.music/com.codeaurora.music.custom.PermissionActivity
02-15 11:37:27.423 I/WindowManager( 4235): Destroying surface Surface(name=com.android.music/com.codeaurora.music.custom.PermissionActivity) called by com.android.server.wm.WindowStateAnimator.destroySurface:2014 com.android.server.wm.WindowStateAnimator.destroySurfaceLocked:881 com.android.server.wm.WindowState.removeLocked:1449 com.android.server.wm.WindowManagerService.removeWindowInnerLocked:2485 com.android.server.wm.WindowManagerService.removeWindowLocked:2443 com.android.server.wm.WindowManagerService.removeWindowLocked:2312 com.android.server.wm.AppWindowToken.removeAllWindows:530 com.android.server.wm.AppWindowToken.removeAppFromTaskLocked:326
02-15 11:37:27.471 I/ActivityManager( 4235): Killing 12078:com.android.music/u0a78 (adj 904): crash
02-15 11:37:27.473 D/ActivityManager( 4235): cleanUpApplicationRecord -- 12078
2、清楚任务
02-15 06:53:21.916 3109 5617 I ActivityManager: Killing 7137:com.android.mms/u0a25 (adj 900): remove task
02-15 06:53:22.024 3109 3197 D ActivityManager: cleanUpApplicationRecord -- 7137
3、命令强制kill
02-15 06:55:11.549 3109 3197 I ActivityManager: Process com.android.mms (pid 8655) has died
02-15 06:55:11.549 3109 3197 D ActivityManager: cleanUpApplicationRecord -- 8655
02-15 06:55:11.550 3109 3197 W ActivityManager: Force removing ActivityRecord{7e5d5dd u0 com.android.mms/.ui.ConversationList t5}: app died, no saved state
ProcessRecord.java
kill{
if (noisy) {
Slog.i(TAG, "Killing " + toShortString() + " (adj " + setAdj + "): " + reason);//I/ActivityManager( 2482): Killing 5538:com.android.email/u0a56 (adj 500): crash
}
EventLog.writeEvent(EventLogTags.AM_KILL, userId, pid, processName, setAdj, reason);//I/am_kill ( 2482): [0,5538,com.android.email,500,crash]
}
frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
cleanUpApplicationRecord