Merge "Move DexLoadReporter setup before AppComponentFactory calls"
This commit is contained in:
@@ -152,7 +152,6 @@ import com.android.org.conscrypt.OpenSSLSocketImpl;
|
||||
import com.android.org.conscrypt.TrustedCertificateStore;
|
||||
import com.android.server.am.MemInfoDumpProto;
|
||||
|
||||
import dalvik.system.BaseDexClassLoader;
|
||||
import dalvik.system.CloseGuard;
|
||||
import dalvik.system.VMDebug;
|
||||
import dalvik.system.VMRuntime;
|
||||
@@ -5862,16 +5861,6 @@ public final class ActivityThread extends ClientTransactionHandler {
|
||||
ThreadedRenderer.setIsolatedProcess(true);
|
||||
}
|
||||
|
||||
// If we use profiles, setup the dex reporter to notify package manager
|
||||
// of any relevant dex loads. The idle maintenance job will use the information
|
||||
// reported to optimize the loaded dex files.
|
||||
// Note that we only need one global reporter per app.
|
||||
// Make sure we do this before calling onCreate so that we can capture the
|
||||
// complete application startup.
|
||||
if (SystemProperties.getBoolean("dalvik.vm.usejitprofiles", false)) {
|
||||
BaseDexClassLoader.setReporter(DexLoadReporter.getInstance());
|
||||
}
|
||||
|
||||
// Install the Network Security Config Provider. This must happen before the application
|
||||
// code is loaded to prevent issues with instances of TLS objects being created before
|
||||
// the provider is installed.
|
||||
|
||||
@@ -57,6 +57,7 @@ import android.view.DisplayAdjustments;
|
||||
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
|
||||
import dalvik.system.BaseDexClassLoader;
|
||||
import dalvik.system.VMRuntime;
|
||||
|
||||
import java.io.File;
|
||||
@@ -929,6 +930,15 @@ public final class LoadedApk {
|
||||
if (!SystemProperties.getBoolean("dalvik.vm.usejitprofiles", false)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// If we use profiles, setup the dex reporter to notify package manager
|
||||
// of any relevant dex loads. The idle maintenance job will use the information
|
||||
// reported to optimize the loaded dex files.
|
||||
// Note that we only need one global reporter per app.
|
||||
// Make sure we do this before invoking app code for the first time so that we
|
||||
// can capture the complete application startup.
|
||||
BaseDexClassLoader.setReporter(DexLoadReporter.getInstance());
|
||||
|
||||
// Only set up profile support if the loaded apk has the same uid as the
|
||||
// current process.
|
||||
// Currently, we do not support profiling across different apps.
|
||||
|
||||
Reference in New Issue
Block a user