Android Articles

Kotlin Flow Engineering: Cold Flows, Channels, StateFlow, and SharedFlow

A practical guide to Kotlin Flow's cold and hot stream models, Channel primitives, SharedFlow and StateFlow tradeoffs, and Android MVVM layer choices.

Kotlin K2 Compiler: Unified Frontend, Type Inference, and Android Migration

A practical deep dive into Kotlin K2's FIR frontend, rewritten type inference, build-performance impact, kapt-to-KSP migration, compiler plugin changes, and Android project rollout.

Android Memory Leak Governance: LeakCanary, HPROF, and Production Monitoring

A full Android memory leak governance workflow covering LeakCanary's WeakReference sentinel, HPROF reference-chain analysis, production retained-object monitoring, conditional dumps, and CI gates.

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.

Android RenderThread and HWUI: From DisplayList Recording to GPU Rasterization

A deep dive into Android HWUI rendering, main-thread and RenderThread responsibilities, DisplayList recording, RenderNode synchronization, Skia/Vulkan rasterization, and Compose rendering.

Android ANR Governance: From Main-Thread Stalls to ANR Trace Analysis

A practical ANR analysis workflow covering signal-triggered traces, MessageQueue backlog, Binder timeouts, lock contention, Perfetto alignment, and production monitoring.

Android Cold Start Optimization: From Zygote Fork to First Frame

A Perfetto-driven Android cold start optimization guide covering Zygote fork, bindApplication, Activity creation, first-frame composition, ContentProvider traps, layered initialization, and Binder backlog.

Android Power Management: From Wakelock Abuse to Doze-Aware Engineering

A practical guide to Android power management covering Wakelock leaks, Doze, App Standby buckets, Battery Historian diagnostics, and WorkManager.

Kotlin Multiplatform Engineering: expect/actual and Cross-Platform Architecture

A production-focused guide to Kotlin Multiplatform, covering expect/actual boundaries, three-layer architecture, XCFramework configuration, and Compose Multiplatform collaboration.

Android 16 Edge-to-Edge: WindowInsets Dispatch and System Bar Adaptation

Android 16 treats forced edge-to-edge as a breaking change for targetSdk 36 apps. This guide explains the WindowInsets dispatch path and practical adaptation strategies for both View and Compose UIs.

Android 16 Edge-to-Edge: WindowInsets Dispatch and System Bar Adaptation

Android 16 treats forced edge-to-edge as a breaking change for targetSdk 36 apps. This guide explains the WindowInsets dispatch path and practical adaptation strategies for both View and Compose UIs.

Android Local LLM Inference: LiteRT, MediaPipe, Quantization, and Production Trade-offs

A practical guide to Android local LLM inference across LiteRT, ONNX Runtime Mobile, MediaPipe LLM Inference, INT4 quantization, GPU delegates, KV cache memory, and device fallback.

Android On-device AI Benchmarking: Latency, Throughput, Power, and Thermal Degradation

A practical benchmark methodology for Android on-device AI inference across latency, throughput, power, thermal throttling, long-tail metrics, GPU sync, and automated test reports.

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 Bitmap Memory Model: From Java Heap to Hardware Bitmap

A deep dive into how Android Bitmap pixel storage moved between native heap, Java heap, and GPU memory, and what that means for OOM prevention.

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 RecyclerView Cache: Four Levels, Reuse, and Prefetch

A deep dive into RecyclerView's four cache layers, their different hit costs, GapWorker prefetch, and practical tuning for smoother scrolling.

Android User Data Backup and Restore: Auto Backup, Key/Value Backup, and DataStore

A deep dive into Android Auto Backup and Key/Value Backup, with practical DataStore migration lessons, backup scheduling, transport encryption, restore pitfalls, and adb debugging commands.

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.