Deallocate gesture trail bitmap when unneeded
This frees up 1.7MB on Nexus 4 (occam), and 900KB on occam_svelte while LatinIME goes to background. The keyboard bring-up speed feels acceptable on both devices. bug: 8967766 Change-Id: I5bc980c4dc41bc304be3c190934c1f7c55c9d244main
parent
2d7e927354
commit
c8814e20b7
|
@ -1370,4 +1370,8 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
|
|||
drawIcon(canvas, mSpaceIcon, x, y, iconWidth, iconHeight);
|
||||
}
|
||||
}
|
||||
|
||||
public void deallocateMemory() {
|
||||
mGestureTrailsPreview.deallocateMemory();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -104,7 +104,12 @@ public final class GestureTrailsPreview extends AbstractDrawingPreview {
|
|||
freeOffscreenBuffer();
|
||||
}
|
||||
|
||||
public void deallocateMemory() {
|
||||
freeOffscreenBuffer();
|
||||
}
|
||||
|
||||
private void freeOffscreenBuffer() {
|
||||
mOffscreenCanvas.setBitmap(null);
|
||||
if (mOffscreenBuffer != null) {
|
||||
mOffscreenBuffer.recycle();
|
||||
mOffscreenBuffer = null;
|
||||
|
|
|
@ -894,6 +894,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
|
|||
final MainKeyboardView mainKeyboardView = mKeyboardSwitcher.getMainKeyboardView();
|
||||
if (mainKeyboardView != null) {
|
||||
mainKeyboardView.cancelAllOngoingEvents();
|
||||
mainKeyboardView.deallocateMemory();
|
||||
}
|
||||
// Remove pending messages related to update suggestions
|
||||
mHandler.cancelUpdateSuggestionStrip();
|
||||
|
|
Loading…
Reference in New Issue