Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 385c42a2 authored by David Brazdil's avatar David Brazdil Committed by Gerrit Code Review
Browse files

Merge "Move DexLoadReporter setup before AppComponentFactory calls"

parents 095d0f64 991ff90e
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -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.
+10 −0
Original line number Diff line number Diff line
@@ -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.