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:
@@ -117,7 +117,7 @@ void Caches::initStaticProperties() {
|
|||||||
|
|
||||||
void Caches::terminate() {
|
void Caches::terminate() {
|
||||||
if (!mInitialized) return;
|
if (!mInitialized) return;
|
||||||
mRegionMesh.release();
|
mRegionMesh.reset(nullptr);
|
||||||
|
|
||||||
fboCache.clear();
|
fboCache.clear();
|
||||||
|
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ void Lookup3GammaFontRenderer::endPrecaching() {
|
|||||||
|
|
||||||
void Lookup3GammaFontRenderer::clear() {
|
void Lookup3GammaFontRenderer::clear() {
|
||||||
for (int i = 0; i < kGammaCount; i++) {
|
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;
|
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
|
// Also eliminate the caches for large glyphs, as they consume significant memory
|
||||||
for (int i = 0; i < kGammaCount; ++i) {
|
for (int i = 0; i < kGammaCount; ++i) {
|
||||||
|
|||||||
@@ -251,7 +251,7 @@ void Layer::defer(const OpenGLRenderer& rootRenderer) {
|
|||||||
void Layer::cancelDefer() {
|
void Layer::cancelDefer() {
|
||||||
renderNode = nullptr;
|
renderNode = nullptr;
|
||||||
deferredUpdateScheduled = false;
|
deferredUpdateScheduled = false;
|
||||||
deferredList.release();
|
deferredList.reset(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Layer::flush() {
|
void Layer::flush() {
|
||||||
|
|||||||
Reference in New Issue
Block a user