Jetpack Compose Articles
Kotlin Lambdas, Function References, and Compose: Verify Before Caching
(Updated on )
Separate Kotlin callback semantics, JVM lowering, and Compose memoization; check Strong Skipping and prevent stale captured handlers before adding remember.
Read Post
Integrating On-Device AI Inference into Compose: State Machines, Lifecycle Isolation, and Streaming Rendering
A practical pattern for wiring on-device AI inference into Jetpack Compose: sealed-class state machines, lifecycle-safe coroutines, and frame-aligned streaming.
Read Post
Unified Runtime Skinning for View and Compose with One Theme State
A unified architecture that shares one theme state across View and Compose, so runtime theme switching works seamlessly without recreating activities.
Read Post
Forms Are Not UI—They Are State Machines
A practical Compose pattern for modeling forms as state machines: field state, form orchestration, dynamic lists, and cross-field linkage.
Read Post
AnimatedVectorDrawable to Compose Vector Animation
How AnimatedVectorDrawable bridges ObjectAnimator to VectorDrawable nodes, and how Compose reuses the same AVD model.
Read Post
Compose Dialog, Popup, and Window Focus
(Updated on )
Why a TextField inside a Dialog pushes the UI up but one inside a BottomSheet doesn't: a practical look at Compose overlays, Window focus, and IME behavior.
Read Post
Inside Android Photo Picker: Privacy Sandbox Architecture and Compose Integration
A close look at Android Photo Picker's privacy-sandbox design, from cross-process URI permission grants to Compose declarative integration, covering single/multi-select, persistent permissions, and ROM compatibility.
Read Post
Inside the Compose Compiler Plugin: From @Composable to Synthetic Parameters
How the Compose Compiler Plugin transforms @Composable functions at the IR level, covering $changed bitmasks, skip logic generation, state read/write markers, and stability inference rules.
Read Post
Inside Jetpack Compose List Animations: From animateItem to Declarative Choreography
A practical walkthrough of animateItem internals, key stability, recomposition scoping, and frame-rate tuning for LazyColumn.
Read Post
Android TV and Google TV Development: Leanback, D-Pad Focus, and Large-Screen UX
A TV-first Android engineering guide covering D-Pad interaction, Leanback architecture, focus management, remote-control events, and phone-to-TV adaptation.
Read Post
Android Share Framework: ShareCompat, Chooser, and Dynamic Targets
An end-to-end look at Android sharing, from ShareCompat intent construction and Chooser target resolution to Direct Share dynamic targets and Compose integration.
Read Post
Why Does Compose Recompose So Often? From Stability to State Read Placement
(Updated on )
A practical guide to frequent Jetpack Compose recomposition, including unstable parameters, where state is read, derivedStateOf misuse, and list item design.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
Jetpack Compose Gestures: Pointer Input, Consumption, and Nested Scroll
(Updated on )
Build reliable Compose interactions by choosing the right gesture API, understanding pointer consumption, and coordinating nested scrolling.
Read Post
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.
Read Post