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
This commit is contained in:
Nancy Zheng
2016-01-13 15:23:56 -08:00
parent eebf168e43
commit 74dfcf90f1
3 changed files with 4 additions and 4 deletions

View File

@@ -117,7 +117,7 @@ void Caches::initStaticProperties() {
void Caches::terminate() {
if (!mInitialized) return;
mRegionMesh.release();
mRegionMesh.reset(nullptr);
fboCache.clear();

View File

@@ -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) {

View File

@@ -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() {