diff options
| author | 2019-01-03 23:32:01 +0000 | |
|---|---|---|
| committer | 2019-01-03 23:32:01 +0000 | |
| commit | 05c48793f4dc8ccd7828e4d88578e87b0f64abec (patch) | |
| tree | 3f23d269fa83531de87687f4aa070fd6775ae83a | |
| parent | 709797647dc043f9242e15b37882213d489ff4e8 (diff) | |
| parent | 58b47f10307b9df67b5a9b54127a21a944c7795b (diff) | |
Merge "Replace snapshot starting windows w/ splashscreen"
| -rw-r--r-- | services/core/java/com/android/server/wm/AppWindowToken.java | 5 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index d8b2b5200f0c..a5341ca11784 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -1949,6 +1949,11 @@ class AppWindowToken extends WindowToken implements WindowManagerService.AppFree } else if (newTask || !processRunning || (taskSwitch && !activityCreated)) { return STARTING_WINDOW_TYPE_SPLASH_SCREEN; } else if (taskSwitch && allowTaskSnapshot) { + if (mWmService.mLowRamTaskSnapshots) { + // For low RAM devices, we use the splash screen starting window instead of the + // task snapshot starting window. + return STARTING_WINDOW_TYPE_SPLASH_SCREEN; + } return snapshot == null ? STARTING_WINDOW_TYPE_NONE : snapshotOrientationSameAsTask(snapshot) || fromRecents ? STARTING_WINDOW_TYPE_SNAPSHOT : STARTING_WINDOW_TYPE_SPLASH_SCREEN; diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index b6a4a51c41f2..f5f55e2ebf73 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -433,6 +433,12 @@ public class WindowManagerService extends IWindowManager.Stub final long mDrawLockTimeoutMillis; final boolean mAllowAnimationsInLowPowerMode; + /** + * Use very low resolution task snapshots. Replaces task snapshot starting windows with + * splashscreen starting windows. Used on low RAM devices to save memory. + */ + final boolean mLowRamTaskSnapshots; + final boolean mAllowBootMessages; final boolean mLimitedAlphaCompositing; @@ -949,6 +955,8 @@ public class WindowManagerService extends IWindowManager.Stub com.android.internal.R.bool.config_disableTransitionAnimation); mPerDisplayFocusEnabled = context.getResources().getBoolean( com.android.internal.R.bool.config_perDisplayFocusEnabled); + mLowRamTaskSnapshots = context.getResources().getBoolean( + com.android.internal.R.bool.config_lowRamTaskSnapshotsAndRecents); mInputManager = inputManager; // Must be before createDisplayContentLocked. mDisplayManagerInternal = LocalServices.getService(DisplayManagerInternal.class); mDisplayWindowSettings = new DisplayWindowSettings(this); |