Status Update
Comments
ap...@google.com <ap...@google.com> #2
Tentatively, the annotation should be something use-case-specific like @OutlinedNewApi
that allows alternative build systems (e.g. not R8/D8) to make their own decisions. We'll provide a default Proguard configuration for R8, but it's not guaranteed this will work as intended -- outlining is automatic in newer versions, but it may be disabled.
cc...@google.com <cc...@google.com> #3
Just as an FYI, this was enabled in AGP 2 years ago (AGP 7.3 as far as I remember), ag/18426192, so for AGP users it might fine to just remove the rule for @DoNotInline
. I like the @OutlinedNewApi
to make it clear what this is for other consumers to handle it as they see fit.
ap...@google.com <ap...@google.com> #4
Given the failure mode can include run-time crashes, that's not an acceptable level of usage.
gr...@google.com <gr...@google.com> #5
I think you can still include a top-level proguard.txt
, and it will be used by versions that do not support the com.android.tools
format. E.g.
Description
Currently, there are several problems with the architecture of BenchmarkState/BenchmarkRule:
measureRepeatedOnMainThread()
is awkward, and happens within the measurement loopThis bug tracks an effort to rewrite much of the top level control flow of BenchmarkRule / BenchmarkState to be based on coroutines, and address all the above problems.