Loading core/java/android/view/ThreadedRenderer.java +9 −2 Original line number Diff line number Diff line Loading @@ -360,7 +360,6 @@ public final class ThreadedRenderer { void destroy() { mInitialized = false; updateEnabledState(null); mRootNode.discardDisplayList(); nDestroy(mNativeProxy, mRootNode.mNativeRenderNode); } Loading Loading @@ -492,12 +491,20 @@ public final class ThreadedRenderer { */ void destroyHardwareResources(View view) { destroyResources(view); mRootNode.discardDisplayList(); nDestroyHardwareResources(mNativeProxy); } private static void destroyResources(View view) { view.destroyHardwareResources(); if (view instanceof ViewGroup) { ViewGroup group = (ViewGroup) view; int count = group.getChildCount(); for (int i = 0; i < count; i++) { destroyResources(group.getChildAt(i)); } } } /** Loading core/java/android/view/View.java +4 −8 Original line number Diff line number Diff line Loading @@ -16530,12 +16530,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, // safe to free its copy of the display list as it knows that we will // push an updated DisplayList if we try to draw again resetDisplayList(); if (mOverlay != null) { mOverlay.getOverlayView().destroyHardwareResources(); } if (mGhostView != null) { mGhostView.destroyHardwareResources(); } } /** Loading Loading @@ -16706,9 +16700,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } private void resetDisplayList() { if (mRenderNode.isValid()) { mRenderNode.discardDisplayList(); } if (mBackgroundRenderNode != null) { if (mBackgroundRenderNode != null && mBackgroundRenderNode.isValid()) { mBackgroundRenderNode.discardDisplayList(); } } core/java/android/view/ViewGroup.java +0 −10 Original line number Diff line number Diff line Loading @@ -3433,16 +3433,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager super.dispatchDetachedFromWindow(); } /** @hide */ @Override protected void destroyHardwareResources() { super.destroyHardwareResources(); int count = getChildCount(); for (int i = 0; i < count; i++) { getChildAt(i).destroyHardwareResources(); } } /** * @hide */ Loading core/jni/android_view_RenderNode.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,6 @@ void onRenderNodeRemoved(JNIEnv* env, RenderNode* node) { return; } node->setStagingDisplayList(nullptr, nullptr); // Update the valid field, since native has already removed // the staging DisplayList env->SetBooleanField(jnode, gRenderNode_validFieldID, false); Loading Loading
core/java/android/view/ThreadedRenderer.java +9 −2 Original line number Diff line number Diff line Loading @@ -360,7 +360,6 @@ public final class ThreadedRenderer { void destroy() { mInitialized = false; updateEnabledState(null); mRootNode.discardDisplayList(); nDestroy(mNativeProxy, mRootNode.mNativeRenderNode); } Loading Loading @@ -492,12 +491,20 @@ public final class ThreadedRenderer { */ void destroyHardwareResources(View view) { destroyResources(view); mRootNode.discardDisplayList(); nDestroyHardwareResources(mNativeProxy); } private static void destroyResources(View view) { view.destroyHardwareResources(); if (view instanceof ViewGroup) { ViewGroup group = (ViewGroup) view; int count = group.getChildCount(); for (int i = 0; i < count; i++) { destroyResources(group.getChildAt(i)); } } } /** Loading
core/java/android/view/View.java +4 −8 Original line number Diff line number Diff line Loading @@ -16530,12 +16530,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, // safe to free its copy of the display list as it knows that we will // push an updated DisplayList if we try to draw again resetDisplayList(); if (mOverlay != null) { mOverlay.getOverlayView().destroyHardwareResources(); } if (mGhostView != null) { mGhostView.destroyHardwareResources(); } } /** Loading Loading @@ -16706,9 +16700,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } private void resetDisplayList() { if (mRenderNode.isValid()) { mRenderNode.discardDisplayList(); } if (mBackgroundRenderNode != null) { if (mBackgroundRenderNode != null && mBackgroundRenderNode.isValid()) { mBackgroundRenderNode.discardDisplayList(); } }
core/java/android/view/ViewGroup.java +0 −10 Original line number Diff line number Diff line Loading @@ -3433,16 +3433,6 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager super.dispatchDetachedFromWindow(); } /** @hide */ @Override protected void destroyHardwareResources() { super.destroyHardwareResources(); int count = getChildCount(); for (int i = 0; i < count; i++) { getChildAt(i).destroyHardwareResources(); } } /** * @hide */ Loading
core/jni/android_view_RenderNode.cpp +0 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,6 @@ void onRenderNodeRemoved(JNIEnv* env, RenderNode* node) { return; } node->setStagingDisplayList(nullptr, nullptr); // Update the valid field, since native has already removed // the staging DisplayList env->SetBooleanField(jnode, gRenderNode_validFieldID, false); Loading