summaryrefslogtreecommitdiff
path: root/libs/hwui/RenderNode.cpp
diff options
context:
space:
mode:
author John Reck <jreck@google.com> 2014-10-31 22:55:46 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2014-10-31 22:55:47 +0000
commita8d83d639a5687b2ab5689db4ea61e2a6cce66f4 (patch)
treee8441152d52d9388d9db09e039e3797cc2e38295 /libs/hwui/RenderNode.cpp
parentf34fa3e7aa9be9bf24c955a9ebf34022e4b88c25 (diff)
parent0e89e2b7bcb2c035e8cee77f93120e7c5617f8d2 (diff)
Merge "Layer changes" into lmp-mr1-dev
Diffstat (limited to 'libs/hwui/RenderNode.cpp')
-rw-r--r--libs/hwui/RenderNode.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index 40cd13ef4f02..c9ed9a7d780b 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -87,7 +87,11 @@ RenderNode::RenderNode()
RenderNode::~RenderNode() {
deleteDisplayListData();
delete mStagingDisplayListData;
- LayerRenderer::destroyLayerDeferred(mLayer);
+ if (mLayer) {
+ ALOGW("Memory Warning: Layer %p missed its detachment, held on to for far too long!", mLayer);
+ mLayer->postDecStrong();
+ mLayer = 0;
+ }
}
void RenderNode::setStagingDisplayList(DisplayListData* data) {
@@ -201,6 +205,7 @@ void RenderNode::pushLayerUpdate(TreeInfo& info) {
info.damageAccumulator->peekAtDirty(&dirty);
if (!mLayer) {
+ Caches::getInstance().dumpMemoryUsage();
if (info.errorHandler) {
std::string msg = "Unable to create layer for ";
msg += getName();