v2026.04.30 Release
Optimizations
This release brings several code-size and inlining improvements:
RemoveUnreachablePasscan now sweep annotation elements (via thesweep_annotation_elementsoption). This yields a large code-size reduction for apps that cannot enableAnnoKill, and a modest reduction for those that do.- More lenient cross-store reference (
XStoreRefs) handling whennormal_primary_dexis enabled, improving inlining across primary and secondary dex files for apps using native multidex. ResolveRefsPassnow does a better job resolving interface references.
Other improvements
- New
CompactPointerVectorcontainer, a memory-efficient alternative tostd::vectorfor storing a small number of pointers inline without heap allocation. - Broader use of
AtomicStatCounterfor thread-safe stats collection. - Partial migration from
boost::optionaltostd::optional. - Systematic include cleanup and const-correctness improvements across the codebase.
