OSDN Git Service

Unpin bitmaps but don't purge all scratch resources.
authorDerek Sollenberger <djsollen@google.com>
Thu, 12 Apr 2018 17:42:19 +0000 (13:42 -0400)
committerDerek Sollenberger <djsollen@google.com>
Thu, 12 Apr 2018 17:42:19 +0000 (13:42 -0400)
This is a partial revert of b1f27aae89a9da9fbf3cb15a47f1a401db5a7974.

Test: hwui_unit_tests
Bug: 77654081
Change-Id: I5a58c156a280edfe3e9973ac3a8a30c97a2cff8b

libs/hwui/pipeline/skia/SkiaPipeline.cpp
libs/hwui/renderthread/CacheManager.cpp

index 07052cd..9e73046 100644 (file)
@@ -53,6 +53,7 @@ TaskManager* SkiaPipeline::getTaskManager() {
 }
 
 void SkiaPipeline::onDestroyHardwareResources() {
+    unpinImages();
     mRenderThread.cacheManager().trimStaleResources();
 }
 
index 3ca9295..f510a20 100644 (file)
@@ -166,10 +166,7 @@ void CacheManager::trimStaleResources() {
         return;
     }
     mGrContext->flush();
-    // Here we purge all the unlocked scratch resources (leaving those resources w/ persistent data)
-    // and then purge those w/ persistent data based on age.
-    mGrContext->purgeUnlockedResources(true);
-    mGrContext->purgeResourcesNotUsedInMs(std::chrono::seconds(10));
+    mGrContext->purgeResourcesNotUsedInMs(std::chrono::seconds(30));
 }
 
 sp<skiapipeline::VectorDrawableAtlas> CacheManager::acquireVectorDrawableAtlas() {