Loading core/java/android/app/ActivityThread.java +2 −1 Original line number Diff line number Diff line Loading @@ -3751,6 +3751,7 @@ public final class ActivityThread { } final void handleTrimMemory(int level) { WindowManagerImpl.getDefault().trimMemory(level); ArrayList<ComponentCallbacks2> callbacks; synchronized (mPackages) { Loading @@ -3761,7 +3762,7 @@ public final class ActivityThread { for (int i=0; i<N; i++) { callbacks.get(i).onTrimMemory(level); } WindowManagerImpl.getDefault().trimMemory(level); WindowManagerImpl.getDefault().terminateEgl(); } private void setupGraphicsSupport(LoadedApk info) { Loading core/java/android/view/WindowManagerImpl.java +12 −2 Original line number Diff line number Diff line Loading @@ -105,6 +105,7 @@ public class WindowManagerImpl implements WindowManager { private View[] mViews; private ViewRootImpl[] mRoots; private WindowManager.LayoutParams[] mParams; private boolean mNeedsEglTerminate; private final static Object sLock = new Object(); private final static WindowManagerImpl sWindowManager = new WindowManagerImpl(); Loading Loading @@ -447,8 +448,7 @@ public class WindowManagerImpl implements WindowManager { mRoots[i].terminateHardwareResources(); } } // Terminate the hardware renderer to free all resources ManagedEGLContext.doTerminate(); mNeedsEglTerminate = true; break; } // high end gfx devices fall through to next case Loading @@ -458,6 +458,16 @@ public class WindowManagerImpl implements WindowManager { } } /** * @hide */ public void terminateEgl() { if (mNeedsEglTerminate) { ManagedEGLContext.doTerminate(); mNeedsEglTerminate = false; } } /** * @hide */ Loading Loading
core/java/android/app/ActivityThread.java +2 −1 Original line number Diff line number Diff line Loading @@ -3751,6 +3751,7 @@ public final class ActivityThread { } final void handleTrimMemory(int level) { WindowManagerImpl.getDefault().trimMemory(level); ArrayList<ComponentCallbacks2> callbacks; synchronized (mPackages) { Loading @@ -3761,7 +3762,7 @@ public final class ActivityThread { for (int i=0; i<N; i++) { callbacks.get(i).onTrimMemory(level); } WindowManagerImpl.getDefault().trimMemory(level); WindowManagerImpl.getDefault().terminateEgl(); } private void setupGraphicsSupport(LoadedApk info) { Loading
core/java/android/view/WindowManagerImpl.java +12 −2 Original line number Diff line number Diff line Loading @@ -105,6 +105,7 @@ public class WindowManagerImpl implements WindowManager { private View[] mViews; private ViewRootImpl[] mRoots; private WindowManager.LayoutParams[] mParams; private boolean mNeedsEglTerminate; private final static Object sLock = new Object(); private final static WindowManagerImpl sWindowManager = new WindowManagerImpl(); Loading Loading @@ -447,8 +448,7 @@ public class WindowManagerImpl implements WindowManager { mRoots[i].terminateHardwareResources(); } } // Terminate the hardware renderer to free all resources ManagedEGLContext.doTerminate(); mNeedsEglTerminate = true; break; } // high end gfx devices fall through to next case Loading @@ -458,6 +458,16 @@ public class WindowManagerImpl implements WindowManager { } } /** * @hide */ public void terminateEgl() { if (mNeedsEglTerminate) { ManagedEGLContext.doTerminate(); mNeedsEglTerminate = false; } } /** * @hide */ Loading