diff options
author | Björn Davidsson <björn.davidsson@sonyericsson.com> | 2010-11-18 08:26:27 +0100 |
---|---|---|
committer | Johan Redestig <johan.redestig@sonymobile.com> | 2012-06-08 12:56:14 +0200 |
commit | 90f9e313438fbc7e634af0679cf94e97760e90c8 (patch) | |
tree | 918ef1588dbdb2b16af7ceb4ed900d2535f333bb | |
parent | 0748a5698776d1a9693a5449ffc983af26cc533b (diff) | |
download | base-90f9e313438fbc7e634af0679cf94e97760e90c8.tar.gz |
Performance: Activity manager perf unnecessary recalc of oom_adj
If an activity has bound servicesor content providers,
updateLruProcessInternalLocked will be called recursively with
the oomAdj flag set, resulting in several recalculations of oomAdj
with unchanged data. Doing it at the end of the top level call to
updateLruProcessInternalLocked should be sufficient.
Change-Id: I95e27011e1d3519f256a9bd756cbb18d43e8db29
-rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index cffb3912780b..6190a63e4291 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -1757,7 +1757,7 @@ public final class ActivityManagerService extends ActivityManagerNative if (cr.binding != null && cr.binding.service != null && cr.binding.service.app != null && cr.binding.service.app.lruSeq != mLruSeq) { - updateLruProcessInternalLocked(cr.binding.service.app, oomAdj, + updateLruProcessInternalLocked(cr.binding.service.app, false, updateActivityTime, i+1); } } @@ -1765,7 +1765,7 @@ public final class ActivityManagerService extends ActivityManagerNative if (app.conProviders.size() > 0) { for (ContentProviderRecord cpr : app.conProviders.keySet()) { if (cpr.proc != null && cpr.proc.lruSeq != mLruSeq) { - updateLruProcessInternalLocked(cpr.proc, oomAdj, + updateLruProcessInternalLocked(cpr.proc, false, updateActivityTime, i+1); } } |