Reduce the number of application-level meta-data |
||
Issue descriptionChrome Version: M66 OS: Android Chrome has a lot of meta-data at the application level, see our manifest at //chrome/android/java/AndroidManifest.xml. The problem is specifically about having meta-data and many services, and then querying the PackageManager with something along the lines of: PackageManager.getPackageInfo(GET_SERVICES | GET_META_DATA). Chrome does not particularly query this, but there are other apps / frameworks / vendors that may do this. Putting meta-data at the application level is convenient, but since it is copied into every single ServiceInfo, ActivityInfo, etc. reported in PackageManager queries it possible to overflow the transaction limit, or when the queries are done frequently enough, it can have a adverse effect on user experience. Workarounds are: - Assets, resources, or code containing the metadata - Find a <service> that the <meta-data> belongs to and put it there. - Create a dummy <service> and put the <meta-data> inside the <service> Internal links: - https://groups.google.com/a/google.com/d/topic/clank-team/AeX2DYWEreE/discussion - b/19503572 - b/28854311
,
Jan 24 2018
,
Oct 3
The multi-dex-related meta-data tags would likely be easy-ish to remove / relocate. |
||
►
Sign in to add a comment |
||
Comment 1 by cmasso@google.com
, Jan 22 2018