summaryrefslogtreecommitdiffstats
path: root/libs/hwui/RenderNode.cpp
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-10-31 23:25:44 +0000
committerandroid-build-merger <android-build-merger@google.com>2014-10-31 23:25:44 +0000
commite05575e9c36850d8cfe49396ac9a1372511b12bf (patch)
treecd106a73af96598499f82ac5dc5fc40dabb3df4a /libs/hwui/RenderNode.cpp
parent58f2a1e8a47de6c3ce4f588b07fc052f4687492d (diff)
parenta51fba0bf037844bcb911e69e8af733e6d2cccf6 (diff)
downloadframeworks_base-e05575e9c36850d8cfe49396ac9a1372511b12bf.zip
frameworks_base-e05575e9c36850d8cfe49396ac9a1372511b12bf.tar.gz
frameworks_base-e05575e9c36850d8cfe49396ac9a1372511b12bf.tar.bz2
am a8d83d63: Merge "Layer changes" into lmp-mr1-dev
automerge: a51fba0 * commit 'a51fba0bf037844bcb911e69e8af733e6d2cccf6': Layer changes
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 40cd13e..c9ed9a7 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();