summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Hsu <Leo_Hsu@htc.com>2014-07-03 16:51:24 +0800
committerLeo_Hsu <Leo_Hsu@htc.com>2014-08-12 13:47:23 +0800
commit5073145f85c8197ec4387d5e2599442a7291ca9c (patch)
tree2c7b556070b1728ce4a018c9b2ee847512fdfdde
parentdafcc61078cca409abd77516ce7ccee1eb60db2a (diff)
downloadbase-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.java2
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)) {