Merge "ZygoteInit: warm up JCA providers during preload" am: aa733e0b41 am: ef42102cf8 am: 9d95ab47ff
am: 093adbb330
* commit '093adbb3304098eb8d336ff2bebef335dc94bbb1':
ZygoteInit: warm up JCA providers during preload
Change-Id: Ib039242b086ee995e9428db043cce47a13860cba
This commit is contained in:
@@ -240,6 +240,24 @@ public class ZygoteInit {
|
||||
Trace.traceEnd(Trace.TRACE_TAG_DALVIK);
|
||||
}
|
||||
|
||||
/**
|
||||
* Warm up the providers that are already registered.
|
||||
*
|
||||
* 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() {
|
||||
long 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);
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs Zygote process initialization. Loads and initializes
|
||||
* commonly used classes.
|
||||
|
||||
Reference in New Issue
Block a user