top of page

9-10 APRIL 2026
PARIS


( 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
