Comprehensive memory deallocation
Change-Id: I4673543c96eb342c3c977e00d44772a0d719a23e
This commit is contained in:
parent
cf915ddc87
commit
afca1ddd23
6 changed files with 21 additions and 13 deletions
|
@ -1228,6 +1228,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
|
|||
@Override
|
||||
public void deallocateMemory() {
|
||||
super.deallocateMemory();
|
||||
mGestureTrailsDrawingPreview.deallocateMemory();
|
||||
mDrawingPreviewPlacerView.deallocateMemory();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -50,9 +50,7 @@ public abstract class AbstractDrawingPreview {
|
|||
// Default implementation is empty.
|
||||
}
|
||||
|
||||
public void onDetachFromWindow() {
|
||||
// Default implementation is empty.
|
||||
}
|
||||
public abstract void onDeallocateMemory();
|
||||
|
||||
/**
|
||||
* Draws the preview
|
||||
|
|
|
@ -59,13 +59,17 @@ public final class DrawingPreviewPlacerView extends RelativeLayout {
|
|||
}
|
||||
}
|
||||
|
||||
public void deallocateMemory() {
|
||||
final int count = mPreviews.size();
|
||||
for (int i = 0; i < count; i++) {
|
||||
mPreviews.get(i).onDeallocateMemory();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDetachedFromWindow() {
|
||||
super.onDetachedFromWindow();
|
||||
final int count = mPreviews.size();
|
||||
for (int i = 0; i < count; i++) {
|
||||
mPreviews.get(i).onDetachFromWindow();
|
||||
}
|
||||
deallocateMemory();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -105,6 +105,11 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview {
|
|||
mParams = new GesturePreviewTextParams(typedArray);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeallocateMemory() {
|
||||
// Nothing to do here.
|
||||
}
|
||||
|
||||
public void setSuggetedWords(final SuggestedWords suggestedWords) {
|
||||
if (!isPreviewEnabled()) {
|
||||
return;
|
||||
|
|
|
@ -103,11 +103,7 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void onDetachFromWindow() {
|
||||
freeOffscreenBuffer();
|
||||
}
|
||||
|
||||
public void deallocateMemory() {
|
||||
public void onDeallocateMemory() {
|
||||
freeOffscreenBuffer();
|
||||
}
|
||||
|
||||
|
|
|
@ -62,6 +62,11 @@ public final class SlidingKeyInputDrawingPreview extends AbstractDrawingPreview
|
|||
mPaint.setColor(previewColor);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDeallocateMemory() {
|
||||
// Nothing to do here.
|
||||
}
|
||||
|
||||
public void dismissSlidingKeyInputPreview() {
|
||||
mShowsSlidingKeyInputPreview = false;
|
||||
getDrawingView().invalidate();
|
||||
|
|
Loading…
Reference in a new issue