diff options
| -rw-r--r-- | core/java/android/os/ZygoteProcess.java | 34 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/WebViewZygoteInit.java | 25 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/Zygote.java | 2 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteArguments.java | 32 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteConnection.java | 13 |
5 files changed, 0 insertions, 106 deletions
diff --git a/core/java/android/os/ZygoteProcess.java b/core/java/android/os/ZygoteProcess.java index b1ef05a6f00c..6a2daeab5f0a 100644 --- a/core/java/android/os/ZygoteProcess.java +++ b/core/java/android/os/ZygoteProcess.java @@ -1102,7 +1102,6 @@ public class ZygoteProcess { /** * Instructs the zygote to pre-load the application code for the given Application. * Only the app zygote supports this function. - * TODO preloadPackageForAbi() can probably be removed and the callers an use this instead. */ public boolean preloadApp(ApplicationInfo appInfo, String abi) throws ZygoteStartFailedEx, IOException { @@ -1130,39 +1129,6 @@ public class ZygoteProcess { } /** - * Instructs the zygote to pre-load the classes and native libraries at the given paths - * for the specified abi. Not all zygotes support this function. - */ - public boolean preloadPackageForAbi( - String packagePath, String libsPath, String libFileName, String cacheKey, String abi) - throws ZygoteStartFailedEx, IOException { - synchronized (mLock) { - ZygoteState state = openZygoteSocketIfNeeded(abi); - state.mZygoteOutputWriter.write("5"); - state.mZygoteOutputWriter.newLine(); - - state.mZygoteOutputWriter.write("--preload-package"); - state.mZygoteOutputWriter.newLine(); - - state.mZygoteOutputWriter.write(packagePath); - state.mZygoteOutputWriter.newLine(); - - state.mZygoteOutputWriter.write(libsPath); - state.mZygoteOutputWriter.newLine(); - - state.mZygoteOutputWriter.write(libFileName); - state.mZygoteOutputWriter.newLine(); - - state.mZygoteOutputWriter.write(cacheKey); - state.mZygoteOutputWriter.newLine(); - - state.mZygoteOutputWriter.flush(); - - return (state.mZygoteInputStream.readInt() == 0); - } - } - - /** * Instructs the zygote to preload the default set of classes and resources. Returns * {@code true} if a preload was performed as a result of this call, and {@code false} * otherwise. The latter usually means that the zygote eagerly preloaded at startup diff --git a/core/java/com/android/internal/os/WebViewZygoteInit.java b/core/java/com/android/internal/os/WebViewZygoteInit.java index 9ed738406707..8dee2230fd1f 100644 --- a/core/java/com/android/internal/os/WebViewZygoteInit.java +++ b/core/java/com/android/internal/os/WebViewZygoteInit.java @@ -16,18 +16,15 @@ package com.android.internal.os; -import android.app.ApplicationLoaders; import android.app.LoadedApk; import android.content.pm.ApplicationInfo; import android.net.LocalSocket; -import android.text.TextUtils; import android.util.Log; import android.webkit.WebViewFactory; import android.webkit.WebViewFactoryProvider; import android.webkit.WebViewLibraryLoader; import java.io.DataOutputStream; -import java.io.File; import java.io.IOException; import java.lang.reflect.Method; @@ -83,28 +80,6 @@ class WebViewZygoteInit { Log.i(TAG, "Application preload done"); } - @Override - protected void handlePreloadPackage(String packagePath, String libsPath, String libFileName, - String cacheKey) { - Log.i(TAG, "Beginning package preload"); - // Ask ApplicationLoaders to create and cache a classloader for the WebView APK so that - // our children will reuse the same classloader instead of creating their own. - // This enables us to preload Java and native code in the webview zygote process and - // have the preloaded versions actually be used post-fork. - ClassLoader loader = ApplicationLoaders.getDefault().createAndCacheWebViewClassLoader( - packagePath, libsPath, cacheKey); - - // Add the APK to the Zygote's list of allowed files for children. - String[] packageList = TextUtils.split(packagePath, File.pathSeparator); - for (String packageEntry : packageList) { - Zygote.nativeAllowFileAcrossFork(packageEntry); - } - - doPreload(loader, libFileName); - - Log.i(TAG, "Package preload done"); - } - private void doPreload(ClassLoader loader, String libFileName) { // Load the native library using WebViewLibraryLoader to share the RELRO data with other // processes. diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java index cab84bb01f70..fafa08536d6c 100644 --- a/core/java/com/android/internal/os/Zygote.java +++ b/core/java/com/android/internal/os/Zygote.java @@ -938,8 +938,6 @@ public final class Zygote { throw new IllegalArgumentException(USAP_ERROR_PREFIX + "--get-pid"); } else if (args.mPreloadDefault) { throw new IllegalArgumentException(USAP_ERROR_PREFIX + "--preload-default"); - } else if (args.mPreloadPackage != null) { - throw new IllegalArgumentException(USAP_ERROR_PREFIX + "--preload-package"); } else if (args.mPreloadApp != null) { throw new IllegalArgumentException(USAP_ERROR_PREFIX + "--preload-app"); } else if (args.mStartChildZygote) { diff --git a/core/java/com/android/internal/os/ZygoteArguments.java b/core/java/com/android/internal/os/ZygoteArguments.java index 86b9a59fef72..27ce64e3ae29 100644 --- a/core/java/com/android/internal/os/ZygoteArguments.java +++ b/core/java/com/android/internal/os/ZygoteArguments.java @@ -141,33 +141,12 @@ class ZygoteArguments { String mAppDataDir; /** - * The APK path of the package to preload, when using --preload-package. - */ - String mPreloadPackage; - - /** * A Base64 string representing a serialize ApplicationInfo Parcel, when using --preload-app. */ String mPreloadApp; /** - * The native library path of the package to preload, when using --preload-package. - */ - String mPreloadPackageLibs; - - /** - * The filename of the native library to preload, when using --preload-package. - */ - String mPreloadPackageLibFileName; - - /** - * The cache key under which to enter the preloaded package into the classloader cache, when - * using --preload-package. - */ - String mPreloadPackageCacheKey; - - /** * Whether this is a request to start preloading the default resources and classes. This * argument only makes sense when the zygote is in lazy preload mode (i.e, when it's started * with --enable-lazy-preload). @@ -419,12 +398,6 @@ class ZygoteArguments { } else if (arg.equals("--preload-app")) { ++curArg; mPreloadApp = args.nextArg(); - } else if (arg.equals("--preload-package")) { - curArg += 4; - mPreloadPackage = args.nextArg(); - mPreloadPackageLibs = args.nextArg(); - mPreloadPackageLibFileName = args.nextArg(); - mPreloadPackageCacheKey = args.nextArg(); } else if (arg.equals("--preload-default")) { mPreloadDefault = true; expectRuntimeArgs = false; @@ -504,11 +477,6 @@ class ZygoteArguments { if (argCount > curArg) { throw new IllegalArgumentException("Unexpected arguments after --query-abi-list."); } - } else if (mPreloadPackage != null) { - if (argCount > curArg) { - throw new IllegalArgumentException( - "Unexpected arguments after --preload-package."); - } } else if (mPreloadApp != null) { if (argCount > curArg) { throw new IllegalArgumentException( diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java index d4dcec948e31..2eab0813956d 100644 --- a/core/java/com/android/internal/os/ZygoteConnection.java +++ b/core/java/com/android/internal/os/ZygoteConnection.java @@ -165,14 +165,6 @@ class ZygoteConnection { return null; } - if (parsedArgs.mPreloadPackage != null) { - handlePreloadPackage(parsedArgs.mPreloadPackage, - parsedArgs.mPreloadPackageLibs, - parsedArgs.mPreloadPackageLibFileName, - parsedArgs.mPreloadPackageCacheKey); - return null; - } - if (canPreloadApp() && parsedArgs.mPreloadApp != null) { byte[] rawParcelData = Base64.getDecoder().decode(parsedArgs.mPreloadApp); Parcel appInfoParcel = Parcel.obtain(); @@ -475,11 +467,6 @@ class ZygoteConnection { return mSocketOutStream; } - protected void handlePreloadPackage(String packagePath, String libsPath, String libFileName, - String cacheKey) { - throw new RuntimeException("Zygote does not support package preloading"); - } - protected boolean canPreloadApp() { return false; } |