Unpin bitmaps but don't purge all scratch resources.

This is a partial revert of b1f27aae89a9da9fbf3cb15a47f1a401db5a7974.

Test: hwui_unit_tests
Bug: 77654081
Change-Id: I5a58c156a280edfe3e9973ac3a8a30c97a2cff8b
diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.cpp b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
index 07052cd..9e73046 100644
--- a/libs/hwui/pipeline/skia/SkiaPipeline.cpp
+++ b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
@@ -53,6 +53,7 @@
 }
 
 void SkiaPipeline::onDestroyHardwareResources() {
+    unpinImages();
     mRenderThread.cacheManager().trimStaleResources();
 }
 
diff --git a/libs/hwui/renderthread/CacheManager.cpp b/libs/hwui/renderthread/CacheManager.cpp
index 3ca9295..f510a20 100644
--- a/libs/hwui/renderthread/CacheManager.cpp
+++ b/libs/hwui/renderthread/CacheManager.cpp
@@ -166,10 +166,7 @@
         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() {