diff options
author | Leo Hsu <Leo_Hsu@htc.com> | 2014-07-03 16:51:24 +0800 |
---|---|---|
committer | Leo_Hsu <Leo_Hsu@htc.com> | 2014-08-12 13:47:23 +0800 |
commit | 5073145f85c8197ec4387d5e2599442a7291ca9c (patch) | |
tree | 2c7b556070b1728ce4a018c9b2ee847512fdfdde | |
parent | dafcc61078cca409abd77516ce7ccee1eb60db2a (diff) | |
download | base-5073145f85c8197ec4387d5e2599442a7291ca9c.tar.gz |
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
-rw-r--r-- | services/java/com/android/server/am/ActivityStackSupervisor.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/services/java/com/android/server/am/ActivityStackSupervisor.java b/services/java/com/android/server/am/ActivityStackSupervisor.java index cc9df7657c73..16eef00d3a89 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)) { |