diff options
| author | David Brazdil <dbrazdil@google.com> | 2018-12-07 01:20:17 -0800 |
|---|---|---|
| committer | android-build-merger <android-build-merger@google.com> | 2018-12-07 01:20:17 -0800 |
| commit | 4e7a33fb083d4332034aea8240bd182c673b8471 (patch) | |
| tree | 93ae119f519cb88c1a783c5f9873bd66d8559a4e /core/java/android | |
| parent | 73694f8faa54071759744901bd1c64457dc9cf49 (diff) | |
| parent | 385c42a2e9431fd345d42be57a21f03308f0fdec (diff) | |
Merge "Move DexLoadReporter setup before AppComponentFactory calls"
am: 385c42a2e9
Change-Id: I1b37135225175c74c578a29dfbd269bf7230f2e5
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/ActivityThread.java | 11 | ||||
| -rw-r--r-- | core/java/android/app/LoadedApk.java | 10 |
2 files changed, 10 insertions, 11 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index 91a00766229c..0a238588787d 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -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. diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index 3f1075448c84..0d3110cfded8 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -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. |
