diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index f482552d50170..95d3c41ab9369 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -5704,12 +5704,19 @@ public final class ActivityManagerService extends ActivityManagerNative if (killProcesses) { // Find any running processes associated with this app. + final String pkg = component.getPackageName(); ArrayList procs = new ArrayList(); - SparseArray appProcs - = mProcessNames.getMap().get(component.getPackageName()); - if (appProcs != null) { - for (int i=0; i> pmap = mProcessNames.getMap(); + for (SparseArray uids : pmap.values()) { + for (int i=0; i 0) { i--; ActivityRecord candidate = mHistory.get(i); + if (candidate.finishing) { + continue; + } if (candidate.task.taskId != task) { break; } @@ -4057,7 +4060,7 @@ final class ActivityStack { int index = indexOfActivityLocked(r); if (index >= 0) { if (r.state == ActivityState.DESTROYING) { - cleanUpActivityLocked(r, true, true); + cleanUpActivityLocked(r, true, false); removeActivityFromHistoryLocked(r); } }