Loading core/java/android/view/ThreadedRenderer.java +0 −2 Original line number Diff line number Diff line Loading @@ -127,8 +127,6 @@ public class ThreadedRenderer extends HardwareRenderer { @Override void destroyHardwareResources(View view) { destroyResources(view); // mRootNode belongs to us and not a view, so we need to destroy it mRootNode.destroyDisplayListData(); nDestroyHardwareResources(mNativeProxy); } Loading core/java/android/view/View.java +3 −1 Original line number Diff line number Diff line Loading @@ -13625,7 +13625,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @hide */ protected void destroyHardwareResources() { resetDisplayList(); // Intentionally empty. RenderNode's lifecycle is now fully managed // by the hardware renderer. // However some subclasses (eg, WebView, TextureView) still need this signal } /** libs/hwui/RenderNode.cpp +2 −7 Original line number Diff line number Diff line Loading @@ -211,8 +211,7 @@ void RenderNode::prepareTreeImpl(TreeInfo& info) { // This will also release the hardware layer if we have one as // isRenderable() will return false, thus causing pushLayerUpdate // to recycle the hardware layer LOG_ALWAYS_FATAL_IF(mStagingDisplayListData || (mDisplayListData && !mNeedsDisplayListDataSync), "View.destroyHardwareResources wasn't called!"); setStagingDisplayList(NULL); break; } Loading Loading @@ -261,11 +260,7 @@ void RenderNode::pushStagingDisplayListChanges(TreeInfo& info) { mNeedsDisplayListDataSync = false; // Do a push pass on the old tree to handle freeing DisplayListData // that are no longer used TreeInfo::TraversalMode mode = TreeInfo::MODE_MAYBE_DETACHING; if (CC_UNLIKELY(info.mode == TreeInfo::MODE_DESTROY_RESOURCES)) { mode = TreeInfo::MODE_DESTROY_RESOURCES; } TreeInfo oldTreeInfo(mode, info); TreeInfo oldTreeInfo(TreeInfo::MODE_MAYBE_DETACHING, info); prepareSubTree(oldTreeInfo, mDisplayListData); delete mDisplayListData; mDisplayListData = mStagingDisplayListData; Loading Loading
core/java/android/view/ThreadedRenderer.java +0 −2 Original line number Diff line number Diff line Loading @@ -127,8 +127,6 @@ public class ThreadedRenderer extends HardwareRenderer { @Override void destroyHardwareResources(View view) { destroyResources(view); // mRootNode belongs to us and not a view, so we need to destroy it mRootNode.destroyDisplayListData(); nDestroyHardwareResources(mNativeProxy); } Loading
core/java/android/view/View.java +3 −1 Original line number Diff line number Diff line Loading @@ -13625,7 +13625,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * @hide */ protected void destroyHardwareResources() { resetDisplayList(); // Intentionally empty. RenderNode's lifecycle is now fully managed // by the hardware renderer. // However some subclasses (eg, WebView, TextureView) still need this signal } /**
libs/hwui/RenderNode.cpp +2 −7 Original line number Diff line number Diff line Loading @@ -211,8 +211,7 @@ void RenderNode::prepareTreeImpl(TreeInfo& info) { // This will also release the hardware layer if we have one as // isRenderable() will return false, thus causing pushLayerUpdate // to recycle the hardware layer LOG_ALWAYS_FATAL_IF(mStagingDisplayListData || (mDisplayListData && !mNeedsDisplayListDataSync), "View.destroyHardwareResources wasn't called!"); setStagingDisplayList(NULL); break; } Loading Loading @@ -261,11 +260,7 @@ void RenderNode::pushStagingDisplayListChanges(TreeInfo& info) { mNeedsDisplayListDataSync = false; // Do a push pass on the old tree to handle freeing DisplayListData // that are no longer used TreeInfo::TraversalMode mode = TreeInfo::MODE_MAYBE_DETACHING; if (CC_UNLIKELY(info.mode == TreeInfo::MODE_DESTROY_RESOURCES)) { mode = TreeInfo::MODE_DESTROY_RESOURCES; } TreeInfo oldTreeInfo(mode, info); TreeInfo oldTreeInfo(TreeInfo::MODE_MAYBE_DETACHING, info); prepareSubTree(oldTreeInfo, mDisplayListData); delete mDisplayListData; mDisplayListData = mStagingDisplayListData; Loading