Android Articles

Inside Android ViewModel: ViewModelStore Retention and SavedStateHandle Recovery

Trace ViewModel from ViewModelStore retention to SavedStateHandle process recreation, and separate configuration-change survival from process-death recovery.

Designing an On-Device LLM Inference Scheduler: Priority Queues and Backpressure in Practice

This article shows how to build a scheduling layer above an on-device inference engine, using priority queues, preemption, and backpressure to avoid OOMs, unpredictable latency, and out-of-order results.

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 Gradle Build Speed: From Configuration Cache to Replacing KAPT with KSP

A systematic Android Gradle build-speed guide covering configuration time, annotation processing, task execution, Configuration Cache, KSP migration, incremental compilation, and build governance.

Android MotionLayout Deep Dive: From Scene Constraints to KeyFrame Interpolation

A deep dive into MotionLayout as an animation state machine, covering ConstraintSet states, KeyFrame interpolation paths, MotionScene structure, and debugging practices.

Android On-device AI Real-time Video: CameraX Frames, GPU Preprocessing, and LiteRT Inference

A practical end-to-end Android real-time video AI pipeline, covering CameraX head-of-line blocking, GPU YUV preprocessing, LiteRT inference jitter, async staging, and frame-expiration control.

Android On-device AI Memory Management: Model Loading Peaks, Tensor Lifetimes, and KV Cache Reclaim

A practical memory-management path for Android on-device LLM deployment, covering mmap model loading, tensor lifecycle reclamation, sliding-window KV cache, layer-wise decay, and LMK survival.

Android On-device AI Prompt Engineering: Token Budgets, Few-shot Compression, and TTFT Control

A practical Android on-device LLM prompt-engineering guide showing how token budgeting, few-shot template compression, and dynamic budget switching reduced first-token latency from 8.7 seconds to under 2 seconds.

Android On-device AI System Health: Dynamic Inference Degradation by Thermal, Battery, and Memory Pressure

A practical three-dimensional degradation strategy for Android on-device AI inference, coordinating thermal status, battery state, and memory pressure with normalized scoring, model preloading, and state migration.

Android Paging 3 Deep Dive: PagingSource, RemoteMediator, and Reactive Pagination

A deep breakdown of Paging 3's three-layer architecture: Pager, PagingSource, and RemoteMediator, including Room, RecyclerView, coroutine dispatchers, caching, and common pitfalls.

Android SharedPreferences to DataStore Deep Dive: From ANR Risk to Flow-Based Coroutine Storage

A deep look at SharedPreferences locking and ANR root causes, Jetpack DataStore's design, migration paths, Preferences DataStore, Proto DataStore, and coroutine-based storage architecture.

Android WorkManager Scheduling: Constraints, Doze, Expedited Work, and Task Chains

A deep dive into WorkManager scheduling, the Constraint engine, Doze compatibility, task-chain orchestration, Expedited Work, foreground-service tradeoffs, and dumpsys debugging.

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.