From 5073145f85c8197ec4387d5e2599442a7291ca9c Mon Sep 17 00:00:00 2001 From: Leo Hsu Date: Thu, 3 Jul 2014 16:51:24 +0800 Subject: [PATCH] Fix a bug: unable to start activity when AM is killing the process. Symptom: No activity was started for startActivity, low repro rate. Root Cause: Starting activity on a process which was killed by ActivityManagerService.killUnneededProcessLocked() and before receiving AppDeathRecipient of it. Solution: Choose the flow of starting a new process if ProcessRecord.killedByAm is true. Change-Id: Ida2639b0fb4631222fc92d65aadc9fd2da637b45 --- .../java/com/android/server/am/ActivityStackSupervisor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/java/com/android/server/am/ActivityStackSupervisor.java b/services/java/com/android/server/am/ActivityStackSupervisor.java index cc9df7657c73a..16eef00d3a891 100644 --- a/services/java/com/android/server/am/ActivityStackSupervisor.java +++ b/services/java/com/android/server/am/ActivityStackSupervisor.java @@ -1050,7 +1050,7 @@ public final class ActivityStackSupervisor { r.task.stack.setLaunchTime(r); - if (app != null && app.thread != null) { + if (app != null && app.thread != null && !app.killedByAm) { try { if ((r.info.flags&ActivityInfo.FLAG_MULTIPROCESS) == 0 || !"android".equals(r.info.packageName)) {