Skip to content

feat: implement compose islands with baseline profiles - #13

Merged
nikkiw merged 2 commits into
mainfrom
feature/compose-island-baseline-profiles
Jul 25, 2026
Merged

feat: implement compose islands with baseline profiles#13
nikkiw merged 2 commits into
mainfrom
feature/compose-island-baseline-profiles

Conversation

@nikkiw

@nikkiw nikkiw commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Description

This PR successfully implements Phase 9 of the Modernization Roadmap: Compose Islands evaluation alongside Baseline Profiles macrobenchmarking.

Changes:

  • Added ComposeArticleCardViewHolder to seamlessly render Jetpack Compose cards inside the existing XML RecyclerView for direct A/B parity testing.
  • Built a UI-agnostic ArticleCardRenderMode toggle to switch between XML and Compose render paths at runtime.
  • Configured a new :benchmark module using AndroidX Macrobenchmark.
  • Added Baseline Profiles integration via BaselineProfileGenerator and Gradle Managed Devices (pixel6Api31).
  • Captured TTID and scrolling metrics on physical devices, demonstrating runtime parity between XML and Compose paths.
  • Updated docs/performance/xml-vs-compose-results.md and ADR 0002 with verifiable performance results.
  • Shifted the README.md roadmap to proceed with Phase 10 (Full Jetpack Compose migration) and Phase 11 (Image prefetching & Coil).

nikkiw added 2 commits July 25, 2026 13:22
- Migrate Feed list item to a parallel Compose UI (Compose Island)
- Setup Macrobenchmark module for Android performance testing
- Automate Baseline Profiles generation using AOSP managed devices
- Measure TTID and scrolling Frame Duration metrics on physical devices
- Update docs and ADRs to reflect successful migration steps
@nikkiw
nikkiw merged commit 88b977e into main Jul 25, 2026
1 check passed
@nikkiw
nikkiw deleted the feature/compose-island-baseline-profiles branch July 25, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant