Remove WebView library preloading mechanism.
We don't want to preload the WebView library in the zygote process any
more, as loading an updatable WebView in the zygote is a stability risk.
The memory benefits of preloading will be obtained in other ways.
Bug: 13005501
Change-Id: Ic89f2a1d057dc92b01fb775bf326b47ac2d4caa2
diff --git a/core/java/android/webkit/WebViewFactory.java b/core/java/android/webkit/WebViewFactory.java
index aaf0a75..4d55c6a 100644
--- a/core/java/android/webkit/WebViewFactory.java
+++ b/core/java/android/webkit/WebViewFactory.java
@@ -37,17 +37,6 @@
private static final boolean DEBUG = false;
- private static class Preloader {
- static WebViewFactoryProvider sPreloadedProvider;
- static {
- try {
- sPreloadedProvider = getFactoryClass().newInstance();
- } catch (Exception e) {
- Log.w(LOGTAG, "error preloading provider", e);
- }
- }
- }
-
// Cache the factory both for efficiency, and ensure any one process gets all webviews from the
// same provider.
private static WebViewFactoryProvider sProviderInstance;
@@ -67,15 +56,6 @@
throw new AndroidRuntimeException(e);
}
- // This implicitly loads Preloader even if it wasn't preloaded at boot.
- if (Preloader.sPreloadedProvider != null &&
- Preloader.sPreloadedProvider.getClass() == providerClass) {
- sProviderInstance = Preloader.sPreloadedProvider;
- if (DEBUG) Log.v(LOGTAG, "Using preloaded provider: " + sProviderInstance);
- return sProviderInstance;
- }
-
- // The preloaded provider isn't the one we wanted; construct our own.
StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
try {
sProviderInstance = providerClass.newInstance();
diff --git a/preloaded-classes b/preloaded-classes
index 4413cd3..b3fc517 100644
--- a/preloaded-classes
+++ b/preloaded-classes
@@ -1208,7 +1208,6 @@
android.webkit.WebViewClient
android.webkit.WebViewDatabase
android.webkit.WebViewFactory
-android.webkit.WebViewFactory$Preloader
android.webkit.WebViewFactoryProvider
android.webkit.WebViewFactoryProvider$Statics
android.webkit.WebViewProvider