From 1c7083cf85c46a40b4ee1fea9c2f9e74eb23e765 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 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 --- 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 506766551ee21..5fb3635d73f1a 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -4390,9 +4390,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) { HardwareRenderer.setupDiskCache(cacheDir); RenderScriptCacheDir.setupDiskCache(cacheDir); }