Comprehensive memory deallocation

Change-Id: I4673543c96eb342c3c977e00d44772a0d719a23e
main
Tadashi G. Takaoka 2013-12-24 18:26:55 +09:00
parent cf915ddc87
commit afca1ddd23
6 changed files with 21 additions and 13 deletions

View File

@ -1228,6 +1228,6 @@ public final class MainKeyboardView extends KeyboardView implements PointerTrack
@Override @Override
public void deallocateMemory() { public void deallocateMemory() {
super.deallocateMemory(); super.deallocateMemory();
mGestureTrailsDrawingPreview.deallocateMemory(); mDrawingPreviewPlacerView.deallocateMemory();
} }
} }

View File

@ -50,9 +50,7 @@ public abstract class AbstractDrawingPreview {
// Default implementation is empty. // Default implementation is empty.
} }
public void onDetachFromWindow() { public abstract void onDeallocateMemory();
// Default implementation is empty.
}
/** /**
* Draws the preview * Draws the preview

View File

@ -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 @Override
protected void onDetachedFromWindow() { protected void onDetachedFromWindow() {
super.onDetachedFromWindow(); super.onDetachedFromWindow();
final int count = mPreviews.size(); deallocateMemory();
for (int i = 0; i < count; i++) {
mPreviews.get(i).onDetachFromWindow();
}
} }
@Override @Override

View File

@ -105,6 +105,11 @@ public class GestureFloatingTextDrawingPreview extends AbstractDrawingPreview {
mParams = new GesturePreviewTextParams(typedArray); mParams = new GesturePreviewTextParams(typedArray);
} }
@Override
public void onDeallocateMemory() {
// Nothing to do here.
}
public void setSuggetedWords(final SuggestedWords suggestedWords) { public void setSuggetedWords(final SuggestedWords suggestedWords) {
if (!isPreviewEnabled()) { if (!isPreviewEnabled()) {
return; return;

View File

@ -103,11 +103,7 @@ public final class GestureTrailsDrawingPreview extends AbstractDrawingPreview {
} }
@Override @Override
public void onDetachFromWindow() { public void onDeallocateMemory() {
freeOffscreenBuffer();
}
public void deallocateMemory() {
freeOffscreenBuffer(); freeOffscreenBuffer();
} }

View File

@ -62,6 +62,11 @@ public final class SlidingKeyInputDrawingPreview extends AbstractDrawingPreview
mPaint.setColor(previewColor); mPaint.setColor(previewColor);
} }
@Override
public void onDeallocateMemory() {
// Nothing to do here.
}
public void dismissSlidingKeyInputPreview() { public void dismissSlidingKeyInputPreview() {
mShowsSlidingKeyInputPreview = false; mShowsSlidingKeyInputPreview = false;
getDrawingView().invalidate(); getDrawingView().invalidate();