Architecture Articles
Phased Android Startup Initialization with background and activity StartTypes
Putting every initialization task into Application makes cold-start cost unpredictable. This article presents a phased startup framework that separates background and activity StartTypes with explicit dependencies, thread scheduling, fallback behavior, and timing metrics.
Read Post
Custom Android Cache Strategies: FirstCache, FirstNet, OnlyNet, and Timeout
Cache strategy is more than choosing whether to read cache or network first. It affects screen speed, weak-network behavior, data consistency, and code complexity. This article presents a unified strategy enum, CacheManager layer, and Flow-based state model.
Read Post
A Unified Image Loading Facade with ImageUrlProcessor
If every page calls the image library directly, URL rules, size parameters, and preload logic scatter across the codebase. This article introduces a unified image-loading facade built around ImageUrlProcessor, preload scheduling, and observability.
Read Post
Native/Web Route Rollouts: Low-Risk Page Migration with RedirectRouterInterceptor
When the same entry point has both Native and Web/H5 implementations, a route-level staged rollout is often the safest migration layer. This article explains how RedirectRouterInterceptor uses remote config, stable hashing, parameter mapping, fallback behavior, and structured monitoring to ship Native pages smoothly and roll back quickly.
Read Post
Designing a Mobile Network Diagnostics System
The hardest part of mobile network failures is reconstructing what happened afterward. This article breaks down a practical diagnostics system: layered attribution, request-context capture, task orchestration, readable reports, privacy, and performance control.
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
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
Android Modular Communication: Route Tables and SPI Service Discovery
A practical comparison of two Android modular communication strategies: route tables and interface extraction with SPI service discovery, including implementation details and selection guidance.
Read Post
Android Permission System Evolution: From Framework Checks to Android 14 Granular Control
A deep dive into Android's three-layer permission interception model, the evolution from Android 10 to 14, and practical adaptation guidance.
Read Post
Android ContentProvider IPC: URI Routing, Cursor Windows, and ContentObserver Notifications
A deep dive into Android ContentProvider cross-process data sharing, covering URI routing, transparent Cursor IPC, and ContentObserver change notifications.
Read Post
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.
Read Post
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.
Read Post
Android Perfetto End to End: ftrace, TrackEvent, and Production Monitoring
A deep dive into Android Perfetto, from the traced and traced_probes daemon architecture to kernel ftrace sources, shared ring buffers, SDK TrackEvent instrumentation, and production observability.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post