Files
Shai Barack c64df8c3b9 Add StringCache, and use it when unparceling Strings
StringCache is like String.intern() but weaker.
The goal is to dedupe runtime string allocations, starting with parceled strings.

This use case was driven by field stats for String allocations, many of which come from incoming parcels.

Results from running this on a local test device:
https://docs.google.com/spreadsheets/d/1HlLZTX88SPHHpjdKkDGI2wvS-vLhBLeSy6EfR9tXMXE/edit?usp=sharing&resourcekey=0-uNRHRp80IMmVqE0Oe1p7og

Most processes are showing >80% hit rate.

After this is merged, I will study the impact in trunk partial on heap size, post-GC metrics, and other memory KPIs.

Flag: android.os.parcel_string_cache_enabled
Bug: 442140362
Test: StringCacheTest

Change-Id: I07912887d4564bc8cd3251b13d7102ff287a34df
2025-09-12 11:50:55 -07:00
..

Configuration files for ART compiling the framework

  • boot-image-profile.txt: A list of methods from the framework boot classpath to be compiled by dex2oat. The order in the file is not relevant.
  • boot-profile.txt: An ordered list of methods from the boot classpath to be compiled by the JIT in the order provided in the file. Used by JIT zygote, when on-device signing failed.
  • boot-image-profile-extra.txt: An extra list of methods from the framework boot classpath to be compiled by dex2oat on top of what we have at boot-image-profile.txt.