58 lines
2.4 KiB
Diff
58 lines
2.4 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Micay <danielmicay@gmail.com>
|
|
Date: Tue, 14 May 2019 14:34:32 -0400
|
|
Subject: [PATCH] disable JCA provider warm up for exec spawning
|
|
|
|
---
|
|
.../com/android/internal/os/ZygoteInit.java | 22 ++++++++++---------
|
|
1 file changed, 12 insertions(+), 10 deletions(-)
|
|
|
|
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
|
|
index b711db51db05..209b9f6855fd 100644
|
|
--- a/core/java/com/android/internal/os/ZygoteInit.java
|
|
+++ b/core/java/com/android/internal/os/ZygoteInit.java
|
|
@@ -166,7 +166,7 @@ public class ZygoteInit {
|
|
WebViewFactory.prepareWebViewInZygote();
|
|
}
|
|
endPreload(fullPreload);
|
|
- warmUpJcaProviders();
|
|
+ warmUpJcaProviders(fullPreload);
|
|
Log.d(TAG, "end preload");
|
|
|
|
sPreloadComplete = true;
|
|
@@ -230,7 +230,7 @@ public class ZygoteInit {
|
|
* By doing it here we avoid that each app does it when requesting a service from the provider
|
|
* for the first time.
|
|
*/
|
|
- private static void warmUpJcaProviders() {
|
|
+ private static void warmUpJcaProviders(boolean fullPreload) {
|
|
long startTime = SystemClock.uptimeMillis();
|
|
Trace.traceBegin(
|
|
Trace.TRACE_TAG_DALVIK, "Starting installation of AndroidKeyStoreProvider");
|
|
@@ -242,15 +242,17 @@ public class ZygoteInit {
|
|
+ (SystemClock.uptimeMillis() - startTime) + "ms.");
|
|
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
|
|
|
|
- startTime = SystemClock.uptimeMillis();
|
|
- Trace.traceBegin(
|
|
- Trace.TRACE_TAG_DALVIK, "Starting warm up of JCA providers");
|
|
- for (Provider p : Security.getProviders()) {
|
|
- p.warmUpServiceProvision();
|
|
+ if (fullPreload) {
|
|
+ startTime = SystemClock.uptimeMillis();
|
|
+ Trace.traceBegin(
|
|
+ Trace.TRACE_TAG_DALVIK, "Starting warm up of JCA providers");
|
|
+ for (Provider p : Security.getProviders()) {
|
|
+ p.warmUpServiceProvision();
|
|
+ }
|
|
+ Log.i(TAG, "Warmed up JCA providers in "
|
|
+ + (SystemClock.uptimeMillis() - startTime) + "ms.");
|
|
+ Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
|
|
}
|
|
- Log.i(TAG, "Warmed up JCA providers in "
|
|
- + (SystemClock.uptimeMillis() - startTime) + "ms.");
|
|
- Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
|
|
}
|
|
|
|
/**
|