diff options
author | Steve Kondik <shade@chemlab.org> | 2012-09-26 20:38:57 -0700 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2013-08-20 21:31:24 +0100 |
commit | aba2ab2a1532d321d8ab0702d1e9353df22da386 (patch) | |
tree | 2c908005751a7c59e2912905a3979ac0e70edf97 | |
parent | aa18a86e9635b069c74c18c2b89a67e7dd403b5c (diff) | |
download | frameworks_base-aba2ab2a1532d321d8ab0702d1e9353df22da386.zip frameworks_base-aba2ab2a1532d321d8ab0702d1e9353df22da386.tar.gz frameworks_base-aba2ab2a1532d321d8ab0702d1e9353df22da386.tar.bz2 |
am: Allow more hidden apps on devices with lots of RAM
* If more than 1.5GB is present, allow up to 40 hidden apps.
* Number is somewhat arbitrary, but was found to work well on D2.
* Also look at the sys.mem.max_hidden_apps value if given.
Change-Id: I2d3cf6e0dad1bc0b482cc37bf9c61ed2f2b4be52
-rw-r--r-- | services/java/com/android/server/am/ProcessList.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/services/java/com/android/server/am/ProcessList.java b/services/java/com/android/server/am/ProcessList.java index 9e25e30..f76c660 100644 --- a/services/java/com/android/server/am/ProcessList.java +++ b/services/java/com/android/server/am/ProcessList.java @@ -23,6 +23,7 @@ import com.android.internal.util.MemInfoReader; import com.android.server.wm.WindowManagerService; import android.graphics.Point; +import android.os.SystemProperties; import android.util.Slog; import android.view.Display; @@ -101,7 +102,15 @@ class ProcessList { // The maximum number of hidden processes we will keep around before // killing them; this is just a control to not let us go too crazy with // keeping around processes on devices with large amounts of RAM. - static final int MAX_HIDDEN_APPS = 24; + static final int MAX_HIDDEN_APPS; + + static { + // Allow more hidden apps on huge memory devices (1.5GB or higher) + // or fetch from the system property + MemInfoReader mi = new MemInfoReader(); + MAX_HIDDEN_APPS = SystemProperties.getInt("sys.mem.max_hidden_apps", + mi.getTotalSize() > 1572864 ? 40 : 24); + } // We allow empty processes to stick around for at most 30 minutes. static final long MAX_EMPTY_TIME = 30*60*1000; |