Fixed
Status Update
Comments
cc...@google.com <cc...@google.com> #2
Based on the ASM changelog:
ASM 8.0 add support for Java 14.
So seems that all we would need to do is to upgrade ASM dependency. AFAIK the ASM version in jetifier needs to be in sync with what AGP / AS is using. Can you Hung confirm if we could make the upgrade happen?
cc...@google.com <cc...@google.com> #3
Ah yes, this will likely be solved once we upgrade AGP to use ASM 8.
@#1: As a workaround, you can add the following to your root build.gradle
file to upgrade the tools to ASM 8:
buildscript {
repositories {
...
}
dependencies {
classpath 'com.android.tools.build:gradle:4.0.0'
classpath 'org.ow2.asm:asm:8.0'
classpath 'org.ow2.asm:asm-util:8.0'
classpath 'org.ow2.asm:asm-commons:8.0'
}
}
Description
After turning method tracing on in microbench by default in all cases, we have over time found multiple issues where runtime performance is drastically reduced after capturing a method trace, depending on OS version and ART mainline version.
We also found that it was necessary to suppress method traces on long running benchmarks to avoid ANRs, as even a single loop of a compose benchmark can take several seconds to trace. This made numbers and tracing behavior both less predictable, because duration of benchmark now defines whether it gets a method trace, since it's used to predict if simply taking a method trace on the UI thread will cause an ANR. See b/311412125
Currently, method tracing is off by default, everywhere, we want to turn it back on safely.
Tasks: