1.\frameworks\base\services\core\java\com\android\server\wm\AppWindowContainerController.java
void scheduleAddStartingWindow() {
// Note: we really want to do sendMessageAtFrontOfQueue() because we
// want to process the message ASAP, before any other queued
// messages.
if (DEBUG_STARTING_WINDOW) Slog.v(TAG_WM, "Enqueueing ADD_STARTING");
mService.mAnimationHandler.postAtFrontOfQueue(mAddStartingWindow);
}
private boolean createSnapshot(TaskSnapshot snapshot) {
if (snapshot == null) {
return false;
}
if (DEBUG_STARTING_WINDOW) Slog.v(TAG_WM, "Creating SnapshotStartingData");
mContainer.startingData = new SnapshotStartingData(mService, snapshot);
//scheduleAddStartingWindow();
return true;
}
2.1, frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotController.java
private TaskSnapshot snapshotTask(Task task) {
final AppWindowToken top = task.getTopChild();
if (top == null) {
return null;
}
final WindowState mainWindow = top.findMainWindow();
if (mainWindow == null) {
return null;
}
/*/ad set false
final boolean isLowRamDevice = ActivityManager.isLowRamDeviceStatic(); 修改为:
//*/
final boolean isLowRamDevice = false;
//*/
final float scaleFraction = isLowRamDevice ? REDUCED_SCALE : 1f;
final GraphicBuffer buffer = top.mDisplayContent.screenshotApplicationsToBuffer(top.token,
-1, -1, false, scaleFraction, false, true);
if (buffer == null || buffer.getWidth() <= 1 || buffer.getHeight() <= 1) {
return null;
}
return new TaskSnapshot(buffer, top.getConfiguration().orientation,
minRect(mainWindow.mContentInsets, mainWindow.mStableInsets),
isLowRamDevice /* reduced /, scaleFraction / scale */);
}
2.2 frameworks/base/services/core/java/com/android/server/wm/TaskSnapshotPersister.java
class TaskSnapshotPersister {
private static final String TAG = TAG_WITH_CLASS_NAME ? “TaskSnapshotPersister” : TAG_WM;
private static final String SNAPSHOTS_DIRNAME = “snapshots”;
private static final String REDUCED_POSTFIX = “_reduced”;
static final float REDUCED_SCALE = ActivityManager.isLowRamDeviceStatic() ? 0.6f : 0.5f;
//*/add set false
static final boolean DISABLE_FULL_SIZED_BITMAPS =false;// static final boolean
/*/
DISABLE_FULL_SIZED_BITMAPS = ActivityManager.isLowRamDeviceStatic(); 修改这里
//*/