summaryrefslogtreecommitdiff
path: root/core/java/android/view/ThreadedRenderer.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/view/ThreadedRenderer.java')
-rw-r--r--core/java/android/view/ThreadedRenderer.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/core/java/android/view/ThreadedRenderer.java b/core/java/android/view/ThreadedRenderer.java
index b0826a8e3f70..f3ebcb4b326b 100644
--- a/core/java/android/view/ThreadedRenderer.java
+++ b/core/java/android/view/ThreadedRenderer.java
@@ -360,7 +360,6 @@ public final class ThreadedRenderer {
void destroy() {
mInitialized = false;
updateEnabledState(null);
- mRootNode.discardDisplayList();
nDestroy(mNativeProxy, mRootNode.mNativeRenderNode);
}
@@ -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));
+ }
+ }
}
/**