~/talk

Opening the shutter on snapshots

Talkat droidcon New York 2022 · 2022-09-01..09-02· [android, reactive-programming]
slides:none on file

Jetpack Compose’s snapshot system is a tiny runtime library (not compiler magic) that implements MVCC with a monotonic ID counter and per-snapshot invalid ID sets, storing history as per-state linked lists of records and using ThreadLocal context to pick the visible record. Writes create per-snapshot records, apply moves IDs into the parent and removes invalid marks, and conflicts call a merge records policy. Examples include mutable state implementation and a working GitHub demo that diffs a mutable snapshot to drive animations.

AI-written summary · about

  1. 0:00Introduction
  2. 1:16Why snapshots are needed
  3. 3:50ACID properties explained
  4. 5:37How snapshots work technically
  5. 7:40Records and state objects
  6. 10:07Snapshot operations
  7. 13:00Snapshot IDs as a clock
  8. 16:31Applying and advancing snapshots
  9. 19:24Nested snapshots example
  10. 21:40Mutable state implementation
  11. 26:13Conflict resolution policies
  12. 28:00Custom snapshot-aware state
  13. 31:53Diffing state for animations
  14. 35:07Adding durability to snapshots
  15. 38:35Key takeaways and resources
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.