Jetpack Compose Articles

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.

Android Wear OS Compose: ScalingLazyColumn, Tiles, and DataLayer

A practical deep dive into adapting Compose UI for Wear OS, covering round-screen clipping, ScalingLazyColumn, Tile rendering constraints, and DataLayer synchronization.

Compose LazyColumn Scroll Performance: From Recomposition Tracing to Stable Frame Rates

A practical LazyColumn performance guide covering recomposition spread, stability annotations, lambda stabilization, image loading isolation, compiler metrics, and Baseline Profiles.

Compose Canvas Custom Drawing: From DrawScope to Declarative Chart Architecture

A deep dive into Compose Canvas, DrawScope, coordinate mapping, path drawing, text layout, and a layered architecture for declarative chart components.

Android App Shortcuts Deep Dive: ShortcutManager, Pinning, and Compose

A deep dive into Android App Shortcuts, covering ShortcutManager limits, static and dynamic shortcut configuration, Intent routing, pinned shortcuts, and Jetpack Compose integration.

Android App Shortcuts: ShortcutManager, Pinned Shortcuts, and Compose Adaptation

A full-chain guide to Android App Shortcuts, covering ShortcutManager limits, static and dynamic shortcut configuration, Intent routing, pinned shortcuts, and Compose icon and navigation adaptation.

Android On-device AI Chat Compose UI Architecture: Streaming Rendering and Multi-turn Conversation State

Compose UI patterns for on-device LLM chat apps, using token buffering, state isolation, and a single source of truth to keep streaming output smooth.

Kotlin Inline Functions and reified: Bytecode-Level Optimization

A bytecode-level look at Kotlin inline functions, noinline, crossinline, and reified generics, with practical notes for Compose and compiler optimization.

Kotlin Sealed Classes and Interfaces: Type-Safe UI State

A practical guide to Kotlin sealed classes and sealed interfaces, from exhaustive when checks to type-safe Compose UI state, MVI reducers, Flow results, and Navigation routes.

Jetpack Compose Phases: From Composition to Layout and Drawing

A deep dive into the three Jetpack Compose phases: Composition, Layout, and Drawing, with state reads, skip behavior, and performance guidance.

Android On-device LLM Streaming Output: From Tokens to Compose UI

A full-stack architecture for Android on-device LLM streaming output, covering KV Cache memory pressure, Kotlin Flow backpressure, and incremental Compose rendering.

Android Secure Surfaces: FLAG_SECURE, SurfaceFlinger, and DRM

A practical deep dive into Android content protection, covering FLAG_SECURE, SurfaceFlinger protected overlays, Widevine DRM, and Compose pitfalls.

Android Clipboard Internals: ClipboardManager, ClipData, and Privacy Controls

A full-path look at Android's clipboard stack, from ClipboardService and ClipData MIME handling to background access limits, Compose APIs, and privacy practices.

Android Shared Element Transitions: ActivityOptions to Compose SharedTransitionScope

A practical guide to Android shared element transitions, covering ActivityOptions, Snapshot and GhostView, Compose SharedTransitionScope, pitfalls, and migration.

Inside Android SplashScreen API: System Startup Windows and Compose

A deep dive into Android 12 SplashScreen API, system startup-window behavior, cold-start timing, Compose integration, migration traps, and launch UX.

Android Material 3 Dynamic Color: Monet, HCT, and Compose Themes

A full tour of Material You dynamic color, from Monet's weighted K-Means color extraction and HCT tonal palettes to declarative consumption through Compose MaterialTheme.

Android DataBinding Two-Way Binding: From ObservableField to StateFlow

A deep dive into Android DataBinding two-way binding, generated binding code, invalidation loops, and the architectural move from ObservableField and LiveData to StateFlow and Compose.

Android ConstraintLayout Deep Dive: From Cassowary Solving to Compose Constraints

A deep look at ConstraintLayout's Cassowary constraint solver, its O(n^3) performance ceiling, and how Compose constraints shift layout work toward deterministic O(n) placement.

Progressive Android Compose Migration from Views to Declarative UI

A practical review of progressive migration from Android Views to Jetpack Compose, covering infrastructure, phased replacement, list performance, interop governance, rollout validation, and real performance data.