Add ability to make task snapshots store in RGB565
Bug: 123338864
Bug: 135150273
Test: run app-launch-perf test (go/platform-startup)
Test: launch apps manually and measure the execution time of
snapshotTask(), writeBuffer(), and loadTask()
Change-Id: I9841c6dad99b1f4d4ba0044b7fe06fe021c295a0
diff --git a/services/core/java/com/android/server/wm/TaskSnapshotPersister.java b/services/core/java/com/android/server/wm/TaskSnapshotPersister.java
index a156f5c..5915590 100644
--- a/services/core/java/com/android/server/wm/TaskSnapshotPersister.java
+++ b/services/core/java/com/android/server/wm/TaskSnapshotPersister.java
@@ -74,6 +74,7 @@
private final Object mLock = new Object();
private final DirectoryResolver mDirectoryResolver;
private final float mReducedScale;
+ private final boolean mUse16BitFormat;
/**
* The list of ids of the tasks that have been persisted since {@link #removeObsoleteFiles} was
@@ -92,6 +93,8 @@
mReducedScale = ActivityManager.isLowRamDeviceStatic()
? LOW_RAM_REDUCED_SCALE : REDUCED_SCALE;
}
+ mUse16BitFormat = service.mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_use16BitTaskSnapshotPixelFormat);
}
/**
@@ -164,6 +167,15 @@
return mReducedScale;
}
+ /**
+ * Return if task snapshots are stored in 16 bit pixel format.
+ *
+ * @return true if task snapshots are stored in 16 bit pixel format.
+ */
+ boolean use16BitFormat() {
+ return mUse16BitFormat;
+ }
+
@TestApi
void waitForQueueEmpty() {
while (true) {