top of page
droidcon+icon.png

9-10 APRIL 2026

PARIS

DroidCon_icon_rotatet.png
Anita_Singh_edited.jpg

( SPEAKER )

Stephen Edwards

Android Engineer @ Square

( session )

How Compose Got it Right: Runtime Coroutine Dispatch on Android

When we run coroutines in the Compose runtime - like LaunchedEffect or collectAsState - they just ‘work’ - all the state updates are handled efficiently before recomposition and we don’t even think about it! The dispatcher that makes that happen without introducing any jank in the UI is quite brilliant, but not straightforward. In this deep dive, we’ll take a look at how it works and how we started using it to drive Square’s 1000s of workflow-kotlin (https://github.com/square/workflow-kotlin) based presenters. Along the way we’ll find out how a coroutine’s Continuation gets to be a Runnable on the main thread, learn about different dispatchers, and establish some core requirements that we want for presenter layer dispatch: freshness and fairness.
bottom of page