Jetpack Compose Articles

Why Does Compose Recompose So Often? From Stability to State Read Placement

A practical guide to frequent Jetpack Compose recomposition, including unstable parameters, where state is read, derivedStateOf misuse, and list item design.

What Is the Difference Between Glance and RemoteViews?

Explains how Android Glance AppWidget relates to RemoteViews, where they differ, when each fits, and how to think about migration.

Android AGSL RuntimeShader: From Skia Compilation to Compose Effects

A deep dive into Android AGSL RuntimeShader, including the AGSL-to-SkSL-to-GPU pipeline, uniform shader sampling, Compose integration, practical effects, and performance limits.

Android Glance AppWidget Deep Dive: RemoteViews and Compose Widgets

A deep dive into the full Android Glance AppWidget pipeline, from RemoteViews cross-process rendering and the Glance translation engine to Actions, update flows, and update strategy choices.

Kotlin Type-Safe Builders and DSL Design: Receivers, Scopes, and @DslMarker

Starting from a Compose nesting error, this guide explains Kotlin DSL design through lambda with receiver, @DslMarker scope control, Compose, Gradle KTS, and custom builders.

Android Architecture Evolution: From MVC Confusion to MVI in Compose

A practical walkthrough of Android architecture patterns from MVC and MVP to MVVM and MVI, with Compose-focused guidance for unidirectional data flow.

Compose and View Interop: AndroidView, ComposeView, and Two-Way State

A practical deep dive into Compose and View interoperability, including AndroidView, ComposeView lifecycle binding, state synchronization, focus, touch conflicts, and migration strategy.

Jetpack Compose Gestures: PointerInput Event Pipeline and Nested Scrolling

A deep dive into Compose gesture handling, including PointerInput, event passes, gesture detectors, nested scrolling conflicts, direction locking, and transform pitfalls.

Jetpack Compose Modifier Internals: From Modifier.Node to Layout and Drawing

A deep dive into the Compose Modifier chain, the shift from composed to Modifier.Node, how declarative modifier pipelines are built, and where performance gains come from.

Jetpack Compose CompositionLocal: Implicit Data, Scope, and Internals

A deep dive into CompositionLocal, including parameter tunneling, compositionLocalOf versus staticCompositionLocalOf, Slot Table internals, and engineering tradeoffs.

Android Large Screens and Foldables: From WindowSizeClass to Compose Adaptive Layouts

A practical guide to Android large-screen and foldable adaptation with WindowSizeClass, Compose adaptive layouts, posture awareness, split-screen behavior, and responsive UI strategy.

Compose Custom Layout: MeasurePolicy, Intrinsics, and Waterfall Layouts

A deep dive into Jetpack Compose custom layout, from MeasurePolicy constraints and intrinsic measurement to SubcomposeLayout, adaptive grids, waterfall layouts, and debugging tips.

Inside Android CameraX: From Camera2 Pipeline to Compose Camera UI

Analyze CameraX's layered pipeline from HAL and Camera2 to UseCase APIs and Compose integration, with production lessons on focus, resolution, and leaks.

Jetpack Compose Animation Internals: AnimationSpec, Springs, and Transition

A deep dive into Compose animation internals, including spring physics, the Choreographer-to-Snapshot frame pipeline, and how Transition synchronizes multiple animated properties.

Jetpack Compose Recomposition Performance: Stability, derivedStateOf, and Skipping

A practical end-to-end guide to diagnosing and optimizing Compose recomposition, covering stability inference, compiler reports, Layout Inspector, derivedStateOf, and state read placement.

Android 16 Predictive Back: Migration, Dispatchers, and Gesture-Driven Animation

A practical Android 16 Predictive Back migration guide covering OnBackInvokedDispatcher registration, OnBackAnimationCallback frame-driven animation, Fragment support, Compose PredictiveBackHandler, and a migration checklist.

Jetpack Compose Snapshot State: From MutableState to Recomposition

A deep dive into Compose Snapshot as an MVCC runtime, covering MutableState writes, Snapshot apply, RecomposeScope invalidation, derivedStateOf, and MutationPolicy.

Android Official Skills Deep Dive: Redefining Android Development Workflows with AI Agents

A deep dive into Google's official android/skills repository, a structured instruction set for AI agents that covers Compose migration, Navigation 3, R8 optimization, and other core Android workflows.

Android Navigation3 Architecture: Putting the Back Stack Back in Developers' Hands

A close look at Navigation3's core design: turning the back stack from a NavController black box into developer-owned Compose state, with Scene strategies for multi-pane layouts.

Android In-App Search: From FTS Full-Text Indexing to Compose Search UI

A full-stack walkthrough of Android in-app search optimization, from SQLite FTS5 indexes and Room integration to debounced Compose search that reduced response time from 1.8 seconds to 15 ms.