~/talk

Rewind and Resolve: A deep dive into building Session Replay for Android

Talkat droidcon London 2024 · 2024-10-31..11-01· [android]
slides:none on file

Builds a session replay that captures 1 FPS screenshots, masks sensitive text per line using view layout and compose semantics, and stitches 5‑second segments into MP4 via MediaCodec/MediaMuxer. Uses PixelCopy (API 26) plus Curtains to get the current Window, saves JPEGs at quality 80, and downscales to reduce work; derives image color by drawing into a single‑pixel bitmap. Handles Compose by reading the compose semantics tree, fixes a 16×16 block size video bug, and saves ~35–40% main‑thread time.

AI-written summary · about

  1. 0:00Sentry and Session Replay
  2. 3:38What is Session Replay
  3. 5:47Building Session Replay
  4. 6:52Replay video algorithm
  5. 8:17Efficient screenshots with Pixel Copy
  6. 13:12Masking sensitive data
  7. 22:03Masking Jetpack Compose
  8. 32:54Storing screenshots
  9. 33:57Video segments from screenshots
  10. 37:50Video encoding challenges
  11. 40:21Reducing replay overhead
  12. 42:28Optimizing view traversal
  13. 44:35Hybrid SDK support
  14. 45:20Future plans
  15. 46:21Q&A
~/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.