Sparround

UI: the View system & intro to Compose

0%

RecyclerView and View performance, Navigation, then Compose from scratch: recomposition, state, side effects and interop.

🎯 Stage assignment

Stage project — "the same screen in both worlds" (4-5 hours).

Write the transaction feed twice — in XML and in Compose — and compare:

  • The XML version: RecyclerView + ListAdapter/DiffUtil + ViewBinding + a ConstraintLayout item.
  • The Compose version: LazyColumn + key + a state-hoisted item composable.
  • Bind both to the same ViewModel (StateFlow) — the data layer must not change.
  • Host the Compose version in a fragment via ComposeView with an explicit ViewCompositionStrategy.
  • Measure a few updates with Layout Inspector's recomposition counts.

Done when: you have written down the line counts, the readability difference and the 3 problems you hit — that is exactly the migration answer.