diff options
| author | Mathieu Chartier <mathieuc@google.com> | 2013-12-10 02:13:51 +0000 |
|---|---|---|
| committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2013-12-10 02:18:06 +0000 |
| commit | 3254260b8b55496468e2b897c76cadd9ecde508d (patch) | |
| tree | 14207da6093d6cc846c1958f5f1d6f19c879d007 /core/java | |
| parent | 25fd0c9e74f1b59d8b49258a3081af4479574f3f (diff) | |
| parent | 1e37090caacc59c77c176db3329a4ad393e20013 (diff) | |
| download | frameworks_base-3254260b8b55496468e2b897c76cadd9ecde508d.zip frameworks_base-3254260b8b55496468e2b897c76cadd9ecde508d.tar.gz frameworks_base-3254260b8b55496468e2b897c76cadd9ecde508d.tar.bz2 | |
Merge "Update Dalvik process state through VMRuntime."
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 12 |
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": "")); |
