From 74dfcf90f18d8d0e1128707a5986c4fa94d70350 Mon Sep 17 00:00:00 2001 From: Nancy Zheng Date: Wed, 13 Jan 2016 15:23:56 -0800 Subject: Pulling in https://android-review.googlesource.com/#/c/186482/1 Fix memory leak in HWUI std::unique_ptr::release just releases the ownership of the managed object. To delete the object, std::unique_ptr::reset function should be called. Bug: 26116596 Change-Id: If65f74085b1fc2be3a9fffc433326e0bcdb40ff3 --- libs/hwui/Caches.cpp | 2 +- libs/hwui/GammaFontRenderer.cpp | 4 ++-- libs/hwui/Layer.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'libs') diff --git a/libs/hwui/Caches.cpp b/libs/hwui/Caches.cpp index aa73d44..2763e89 100644 --- a/libs/hwui/Caches.cpp +++ b/libs/hwui/Caches.cpp @@ -117,7 +117,7 @@ void Caches::initStaticProperties() { void Caches::terminate() { if (!mInitialized) return; - mRegionMesh.release(); + mRegionMesh.reset(nullptr); fboCache.clear(); diff --git a/libs/hwui/GammaFontRenderer.cpp b/libs/hwui/GammaFontRenderer.cpp index 0bcd83a..070c3d7 100644 --- a/libs/hwui/GammaFontRenderer.cpp +++ b/libs/hwui/GammaFontRenderer.cpp @@ -194,7 +194,7 @@ void Lookup3GammaFontRenderer::endPrecaching() { void Lookup3GammaFontRenderer::clear() { for (int i = 0; i < kGammaCount; i++) { - mRenderers[i].release(); + mRenderers[i].reset(nullptr); } } @@ -215,7 +215,7 @@ void Lookup3GammaFontRenderer::flush() { if (count <= 1 || min < 0) return; - mRenderers[min].release(); + mRenderers[min].reset(nullptr); // Also eliminate the caches for large glyphs, as they consume significant memory for (int i = 0; i < kGammaCount; ++i) { diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp index e16865e..62eeb43 100644 --- a/libs/hwui/Layer.cpp +++ b/libs/hwui/Layer.cpp @@ -251,7 +251,7 @@ void Layer::defer(const OpenGLRenderer& rootRenderer) { void Layer::cancelDefer() { renderNode = nullptr; deferredUpdateScheduled = false; - deferredList.release(); + deferredList.reset(nullptr); } void Layer::flush() { -- cgit v1.1