From 19f86e831ee0629b24385b0bb51d27ff91961dd2 Mon Sep 17 00:00:00 2001 From: Romain Guy Date: Mon, 23 Apr 2012 15:19:07 -0700 Subject: Invoke onTrimMemory with an EGL context Bug #6369600 Change-Id: I3ded47c3688ef2f2873495392c35e898357204da --- core/java/android/view/WindowManagerImpl.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'core/java/android/view/WindowManagerImpl.java') diff --git a/core/java/android/view/WindowManagerImpl.java b/core/java/android/view/WindowManagerImpl.java index 52bd860523d9..a0f104103b71 100644 --- a/core/java/android/view/WindowManagerImpl.java +++ b/core/java/android/view/WindowManagerImpl.java @@ -429,8 +429,10 @@ public class WindowManagerImpl implements WindowManager { /** * @param level See {@link android.content.ComponentCallbacks} + * + * @hide */ - public void trimMemory(int level) { + public void startTrimMemory(int level) { if (HardwareRenderer.isAvailable()) { // On low-end gfx devices we trim when memory is moderate; // on high-end devices we do this when low. @@ -447,18 +449,21 @@ public class WindowManagerImpl implements WindowManager { } } // Force a full memory flush - HardwareRenderer.trimMemory(ComponentCallbacks2.TRIM_MEMORY_COMPLETE); mNeedsEglTerminate = true; + HardwareRenderer.startTrimMemory(ComponentCallbacks2.TRIM_MEMORY_COMPLETE); return; } - HardwareRenderer.trimMemory(level); + + HardwareRenderer.startTrimMemory(level); } } /** * @hide */ - public void terminateEgl() { + public void endTrimMemory() { + HardwareRenderer.endTrimMemory(); + if (mNeedsEglTerminate) { ManagedEGLContext.doTerminate(); mNeedsEglTerminate = false; -- cgit v1.2.3