OSDN Git Service

Revert "Stop preloading EGL/GLES in Zygote"
authorJesse Hall <jessehall@google.com>
Tue, 17 Jan 2017 18:17:41 +0000 (10:17 -0800)
committerJesse Hall <jessehall@google.com>
Tue, 17 Jan 2017 19:13:23 +0000 (11:13 -0800)
This reverts commit 9c9cc3e94dd3b07ebf2ab52f1837dd88a64a9b57.

Test: 5x adb shell am start -W -n com.google.android.calculator/com.android.calculator2.Calculator
Bug: 34306111
Change-Id: Iebb3c823613c97c4a2b0f1e72bcea01e4d519fc7

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

index b368437..8eb75c0 100644 (file)
@@ -80,6 +80,7 @@ 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;
@@ -124,6 +125,9 @@ 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,
@@ -173,6 +177,12 @@ 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();