Improve tab switcher open perf
Bug: 5379115
Change-Id: I5e5bfcfead4c54deb49af94de6f6526bd2710567
diff --git a/src/com/android/browser/Tab.java b/src/com/android/browser/Tab.java
index f2aa529..839280e 100644
--- a/src/com/android/browser/Tab.java
+++ b/src/com/android/browser/Tab.java
@@ -2181,13 +2181,20 @@
}
}
+ private static final ThreadLocal<ByteBuffer> sBuffer = new ThreadLocal<ByteBuffer>();
+
private byte[] getCaptureBlob() {
synchronized (Tab.this) {
if (mCapture == null) {
return null;
}
- ByteBuffer buffer = ByteBuffer.allocate(mCapture.getByteCount());
+ ByteBuffer buffer = sBuffer.get();
+ if (buffer == null || buffer.limit() < mCapture.getByteCount()) {
+ buffer = ByteBuffer.allocate(mCapture.getByteCount());
+ sBuffer.set(buffer);
+ }
mCapture.copyPixelsToBuffer(buffer);
+ buffer.rewind();
return buffer.array();
}
}