diff options
author | 2013-07-30 20:29:19 +0900 | |
---|---|---|
committer | 2013-07-31 20:39:32 +0900 | |
commit | c8814e20b7b0ed5f7e11292480e89152618dd862 (patch) | |
tree | f2fe7d351c258b3aea061cb166566a174ed73dde /java/src | |
parent | 2d7e92735478115330be21b4fe250eea6e2f71b8 (diff) | |
download | latinime-c8814e20b7b0ed5f7e11292480e89152618dd862.tar.gz latinime-c8814e20b7b0ed5f7e11292480e89152618dd862.tar.xz latinime-c8814e20b7b0ed5f7e11292480e89152618dd862.zip |
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: I5bc980c4dc41bc304be3c190934c1f7c55c9d244
Diffstat (limited to 'java/src')
3 files changed, 10 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java index a5205d8ba..a1eed73e4 100644 --- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java @@ -1370,4 +1370,8 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack drawIcon(canvas, mSpaceIcon, x, y, iconWidth, iconHeight); } } + + public void deallocateMemory() { + mGestureTrailsPreview.deallocateMemory(); + } } diff --git a/java/src/com/android/inputmethod/keyboard/internal/GestureTrailsPreview.java b/java/src/com/android/inputmethod/keyboard/internal/GestureTrailsPreview.java index dff5177ce..d4c25941c 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/GestureTrailsPreview.java +++ b/java/src/com/android/inputmethod/keyboard/internal/GestureTrailsPreview.java @@ -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; diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java index 093d87dac..614c14308 100644 --- a/java/src/com/android/inputmethod/latin/LatinIME.java +++ b/java/src/com/android/inputmethod/latin/LatinIME.java @@ -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(); |