diff options
| -rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index ee329fc892ea..808bf88996d7 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -2241,8 +2241,9 @@ public final class ActivityManagerService extends ActivityManagerNative int lrui = mLruProcesses.lastIndexOf(app); if (lrui < 0) { - throw new IllegalStateException("Adding dependent process " + app - + " not on LRU list: " + what + obj + " from " + srcApp); + Log.wtf(TAG, "Adding dependent process " + app + " not on LRU list: " + + what + " " + obj + " from " + srcApp); + return index; } if (lrui >= mLruProcessActivityStart) { @@ -2307,7 +2308,7 @@ public final class ActivityManagerService extends ActivityManagerNative // bump those processes as well. for (int j=app.connections.size()-1; j>=0; j--) { ConnectionRecord cr = app.connections.valueAt(j); - if (cr.binding != null && cr.binding.service != null + if (cr.binding != null && !cr.serviceDead && cr.binding.service != null && cr.binding.service.app != null && cr.binding.service.app.lruSeq != mLruSeq) { nextIndex = updateLruProcessInternalLocked(cr.binding.service.app, now, nextIndex, |