Status Update
Comments
ze...@google.com <ze...@google.com> #2
As I understand it, we need to migrate namespace definitions both from AndroidManifest.xml
and from implicit definitions from applicationId
/ testApplicationId
? Is that right? So an 8.0 project would have a
namespace <n>
testNamespace <tn>
where <n> is taken from AndroidManifest.xml
package
definitions if present, and applicationId
if not, and <tn>
is testApplicationId
if present and <n>.test
if not?
ap...@google.com <ap...@google.com> #3
Sorry for the confusion. AGP would change how it computes the namespace for the androidTest variant. All the Upgrade assistant would need to do is update the source code for the import of the R
class.
ap...@google.com <ap...@google.com> #4
OK! And, I think, this should happen at the same time as the namespace
declaration is migrated from AndroidManifest.xml
?
ap...@google.com <ap...@google.com> #5
It's unrelated, but it is possible that we move 8.0 to also only declare the namespace into the DSL. I would make it a separate refactoring because they are not tied at all.
Description
The resolution of b/151804585 did not introduce a new field backing, thus lookups within a class are linear search in the field arrays. This has noticeable performance impact witnessed in b/264430795
Using the dump information provided in b/264430795 , the initial regression came with CLs:
With the bottom CL being fairly equal in runtime to the original report at version 2.0.99.
Total regression is about ~1.5min on a previously 4.5min build (increase of about 33% in compiletime).
We should introduce a (potentially) hash-map based field collection backing mirroring the backing for methods.