summaryrefslogtreecommitdiffstats
path: root/core/java/android
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2013-12-10 02:30:45 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2013-12-10 02:30:45 +0000
commitf2156ad2db37ea3733cd090ec05aac3cb6860f2b (patch)
tree640461537b5eb6c53ec5537b6717e5cf62fa3a2e /core/java/android
parentf2f03363bce7a1811a0ea3860223da56a6ab2359 (diff)
parent6a58a2e7e6d39180a130f3bff09aeb7afa6b1e3c (diff)
downloadframeworks_base-f2156ad2db37ea3733cd090ec05aac3cb6860f2b.zip
frameworks_base-f2156ad2db37ea3733cd090ec05aac3cb6860f2b.tar.gz
frameworks_base-f2156ad2db37ea3733cd090ec05aac3cb6860f2b.tar.bz2
am 6a58a2e7: am cb3ee4ed: am 3254260b: Merge "Update Dalvik process state through VMRuntime."
* commit '6a58a2e7e6d39180a130f3bff09aeb7afa6b1e3c': Update Dalvik process state through VMRuntime.
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/ActivityThread.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 5e3dc02..65c40c1 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -117,6 +117,7 @@ import libcore.io.EventLogger;
import libcore.io.IoUtils;
import dalvik.system.CloseGuard;
+import dalvik.system.VMRuntime;
final class RemoteServiceException extends AndroidRuntimeException {
public RemoteServiceException(String msg) {
@@ -1068,8 +1069,15 @@ public final class ActivityThread {
synchronized (this) {
if (mLastProcessState != processState) {
mLastProcessState = processState;
-
- // Update Dalvik state here based on ActivityManager.PROCESS_STATE_* constants.
+ // Update Dalvik state based on ActivityManager.PROCESS_STATE_* constants.
+ final int DALVIK_PROCESS_STATE_JANK_PERCEPTIBLE = 0;
+ final int DALVIK_PROCESS_STATE_JANK_IMPERCEPTIBLE = 1;
+ int dalvikProcessState = DALVIK_PROCESS_STATE_JANK_IMPERCEPTIBLE;
+ // TODO: Tune this since things like gmail sync are important background but not jank perceptible.
+ if (processState <= ActivityManager.PROCESS_STATE_IMPORTANT_FOREGROUND) {
+ dalvikProcessState = DALVIK_PROCESS_STATE_JANK_PERCEPTIBLE;
+ }
+ VMRuntime.getRuntime().updateProcessState(dalvikProcessState);
if (false) {
Slog.i(TAG, "******************* PROCESS STATE CHANGED TO: " + processState
+ (fromIpc ? " (from ipc": ""));