Add 8k bitmap render support

Support vendor configure max bitmap size, because of
8k bitmap was over 100M

Bug: 178353420
Test: build

Change-Id: I582883cca51d42505ec8a81044e471998b88854b
This commit is contained in:
mk.lee
2020-12-31 14:12:26 +08:00
committed by Jay Patel
parent 8d2848bbab
commit 0e717a9d06

View File

@@ -17,6 +17,7 @@
package android.graphics;
import android.annotation.NonNull;
import android.os.SystemProperties;
import android.util.Pools.SynchronizedPool;
import dalvik.annotation.optimization.CriticalNative;
@@ -36,7 +37,15 @@ public final class RecordingCanvas extends BaseRecordingCanvas {
// view hierarchy because display lists are generated recursively.
private static final int POOL_LIMIT = 25;
private static final int MAX_BITMAP_SIZE = 100 * 1024 * 1024; // 100 MB
/** @hide */
private static int getPanelFrameSize() {
final int DefaultSize = 100 * 1024 * 1024; // 100 MB;
return Math.max(SystemProperties.getInt("ro.hwui.max_texture_allocation_size", DefaultSize),
DefaultSize);
}
/** @hide */
public static final int MAX_BITMAP_SIZE = getPanelFrameSize();
private static final SynchronizedPool<RecordingCanvas> sPool =
new SynchronizedPool<>(POOL_LIMIT);