Architecture Articles

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.

Android System Properties End-to-End: From init to Shared Memory and SELinux

How Android's system property mechanism works: property files, the init property service, zero-copy shared memory reads, SELinux enforcement, and cross-process change notifications.

Android App Resilience: Retries, Graceful Fallbacks, and Multi-Level Cache

An Android resilience architecture covering conditional retry, exponential backoff, memory/DataStore/Room cache fallback, graceful degradation, and observability.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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 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.