OSDN Git Service

Stop preloading EGL/GLES in Zygote
authorJesse Hall <jessehall@google.com>
Mon, 12 Dec 2016 05:22:16 +0000 (21:22 -0800)
committerJesse Hall <jessehall@google.com>
Fri, 13 Jan 2017 23:32:38 +0000 (15:32 -0800)
It's not clear this actually makes much difference on modern
devices/drivers. With updatable graphics drivers, we'd have to be able
to unload the preloaded driver from processes that don't use the
system driver, which is additional complexity and risk.

On bullhead and sailfish, meminfo actually showed slightly more memory
available while sitting at launcher just after boot with this change
than previously. Looking at detailed stats, the differences appeared
to mostly within run-to-run variation, but there wasn't evidence of a
regression.

Bug: 33531483
Test: boot through lockscreen/launcher
Change-Id: I1892302c1750cdbeaf5b9979f8da4dc6bd7b3e75

core/java/com/android/internal/os/ZygoteInit.java

index 8eb75c0..b368437 100644 (file)
@@ -80,7 +80,6 @@ import java.security.Provider;
 public class ZygoteInit {
     private static final String TAG = "Zygote";
 
-    private static final String PROPERTY_DISABLE_OPENGL_PRELOADING = "ro.zygote.disable_gl_preload";
     private static final String PROPERTY_RUNNING_IN_CONTAINER = "ro.boot.container";
 
     private static final int LOG_BOOT_PROGRESS_PRELOAD_START = 3020;
@@ -125,9 +124,6 @@ public class ZygoteInit {
         bootTimingsTraceLog.traceBegin("PreloadResources");
         preloadResources();
         bootTimingsTraceLog.traceEnd(); // PreloadResources
-        bootTimingsTraceLog.traceBegin("PreloadOpenGL");
-        preloadOpenGL();
-        bootTimingsTraceLog.traceEnd(); // PreloadOpenGL
         preloadSharedLibraries();
         preloadTextResources();
         // Ask the WebViewFactory to do any initialization that must run in the zygote process,
@@ -177,12 +173,6 @@ public class ZygoteInit {
         System.loadLibrary("jnigraphics");
     }
 
-    private static void preloadOpenGL() {
-        if (!SystemProperties.getBoolean(PROPERTY_DISABLE_OPENGL_PRELOADING, false)) {
-            EGL14.eglGetDisplay(EGL14.EGL_DEFAULT_DISPLAY);
-        }
-    }
-
     private static void preloadTextResources() {
         Hyphenator.init();
         TextView.preloadFontCache();