From 1e6d77e836f8826fbd8152af3400e40f22f43362 Mon Sep 17 00:00:00 2001 From: Shuo Gao Date: Tue, 1 Mar 2016 13:32:03 +0800 Subject: [PATCH] Enable shader cache for applications that shared UID with multiple packages too Bug: 31224514 Frameworks supported a mature mechanism for shader cache per each package already, but as a special case such as Settings APP, if there are several packages in this application which means that multiple packages shared the same SharedUserID with it, it won't initialize the graphics disk caches, thereby APP like Settings have to rebuild and relink shader every time during launch, which cause a bad launching performance, so here to enable the GFX and RS cache initialization for multiple shared packages case too. Change-Id: If0f927e3399b775804abf1d9a868887951f471c5 Signed-off-by: Shuo Gao Signed-off-by: Zhiquan Liu (cherry picked from commit 7c69a669a53ad3de05cf429978a3e848070d1391) --- core/java/android/app/ActivityThread.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 18677dda3b88b..1de926b7ca9da 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -5003,9 +5003,7 @@ public final class ActivityThread { int uid = Process.myUid(); String[] packages = getPackageManager().getPackagesForUid(uid); - // If there are several packages in this application we won't - // initialize the graphics disk caches - if (packages != null && packages.length == 1) { + if (packages != null) { ThreadedRenderer.setupDiskCache(cacheDir); RenderScriptCacheDir.setupDiskCache(cacheDir); }