diff options
| -rw-r--r-- | core/java/com/android/internal/os/ZygoteInit.java | 21 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/flags.aconfig | 7 |
2 files changed, 28 insertions, 0 deletions
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java index e60879e02b4b..38dc198fa9f8 100644 --- a/core/java/com/android/internal/os/ZygoteInit.java +++ b/core/java/com/android/internal/os/ZygoteInit.java @@ -429,6 +429,27 @@ public class ZygoteInit { null /*dependentPackages*/, null /*dependencies*/, false /*isNative*/)); } + if (Flags.enableMediaAndLocationPreload()) { + // As these libraries are technically optional and not necessarily inherited from + // base_system.mk, only cache them if they exist. + final String mediaJarPath = "/system/framework/com.android.media.remotedisplay.jar"; + if (new File(mediaJarPath).exists()) { + libs.add(new SharedLibraryInfo( + mediaJarPath, null /*packageName*/, + null /*codePaths*/, null /*name*/, 0 /*version*/, + SharedLibraryInfo.TYPE_BUILTIN, null /*declaringPackage*/, + null /*dependentPackages*/, null /*dependencies*/, false /*isNative*/)); + } + final String locationJarPath = "/system/framework/com.android.location.provider.jar"; + if (new File(locationJarPath).exists()) { + libs.add(new SharedLibraryInfo( + locationJarPath, null /*packageName*/, + null /*codePaths*/, null /*name*/, 0 /*version*/, + SharedLibraryInfo.TYPE_BUILTIN, null /*declaringPackage*/, + null /*dependentPackages*/, null /*dependencies*/, false /*isNative*/)); + } + } + // WindowManager Extensions is an optional shared library that is required for WindowManager // Jetpack to fully function. Since it is a widely used library, preload it to improve apps // startup performance. diff --git a/core/java/com/android/internal/os/flags.aconfig b/core/java/com/android/internal/os/flags.aconfig index f82df859f49c..16d471b52b79 100644 --- a/core/java/com/android/internal/os/flags.aconfig +++ b/core/java/com/android/internal/os/flags.aconfig @@ -53,6 +53,13 @@ flag { } flag { + name: "enable_media_and_location_preload" + namespace: "system_performance" + description: "Enables zygote preload of non-BCP media and location libraries." + bug: "241474956" +} + +flag { name: "use_transaction_codes_for_unknown_methods" namespace: "stability" description: "Use transaction codes when the method names is unknown" |