Android Articles

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 Hotfix Internals: ClassLoader Replacement and Tinker Patches

A practical deep dive into Android hotfix systems, from ClassLoader dex replacement to Tinker binary patches, compatibility traps, rollout, rollback, and monitoring.

Android Configuration Changes: Activity Recreation and ViewModel Survival

A source-level walkthrough of Android configuration changes, from ActivityThread relaunch handling to NonConfigurationInstances, ViewModelStore retention, and the boundary with SavedStateHandle.

Android App Links: Digital Asset Links and Web-to-App Routing

A full-chain guide to Android App Links, covering Digital Asset Links, automatic domain verification, routing behavior, debugging tools, release signatures, and cross-domain pitfalls.

Android StrictMode: From BlockGuard Hooks to CI Quality Gates

How to turn Android StrictMode from a debug helper into a CI quality gate, with BlockGuard internals, structured JSON output, and production soft interception.

Android Credential Manager: FIDO2, Passkeys, and Device-Side Security

A deep dive into Android Credential Manager, covering FIDO2 passwordless authentication, TEE-backed key protection, and passkey cross-device sync.

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.

Compose and View Interop: AndroidView, ComposeView, and Two-Way State

A practical deep dive into Compose and View interoperability, including AndroidView, ComposeView lifecycle binding, state synchronization, focus, touch conflicts, and migration strategy.

Android MediaCodec Video Pipeline: MediaExtractor, Buffers, and Hardware Encoding

Trace Android video transcoding from MediaExtractor demuxing to MediaCodec async buffers, hardware decode compatibility, and MediaMuxer output.

Android Scoped Storage Internals: From Sandbox Isolation to MediaStore Mapping

A full-path look at Android Scoped Storage, covering FUSE interception, MediaStore database mapping, permission layers, SAF migration, and practical Android 10+ adoption.

Android Bytecode Instrumentation with ASM and Gradle Plugins

A full walkthrough of Android compile-time bytecode instrumentation, from Gradle Plugin entry points and ASM visitors to page monitoring, privacy logs, and method timing.

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.

Inside the Android APK Build Pipeline: aapt2, DEX, R8, and Signing

A deep dive into Android APK builds, from aapt2 resource compilation and d8/R8 DEX generation to signing evolution, zip alignment, and package optimization.

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 Modifier Internals: From Modifier.Node to Layout and Drawing

A deep dive into the Compose Modifier chain, the shift from composed to Modifier.Node, how declarative modifier pipelines are built, and where performance gains come from.

Testing Kotlin Coroutines: TestDispatcher, Virtual Time, and Turbine

A practical guide to coroutine unit testing with runTest virtual time, TestDispatcher injection, Dispatchers.Main replacement, Turbine Flow assertions, and common Android testing traps.

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.

Android Large Screens and Foldables: From WindowSizeClass to Compose Adaptive Layouts

A practical guide to Android large-screen and foldable adaptation with WindowSizeClass, Compose adaptive layouts, posture awareness, split-screen behavior, and responsive UI strategy.

Compose Custom Layout: MeasurePolicy, Intrinsics, and Waterfall Layouts

A deep dive into Jetpack Compose custom layout, from MeasurePolicy constraints and intrinsic measurement to SubcomposeLayout, adaptive grids, waterfall layouts, and debugging tips.

Android Audio System Deep Dive: AudioFlinger Mixing and AAudio Low Latency

A deep architecture walkthrough of the Android audio pipeline, from AudioTrack buffers and AudioFlinger mixer scheduling to AAudio MMAP pass-through, latency tradeoffs, and production API choices.