Android Articles

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.

Android Multimodal On-device AI: Gemini Nano, Image Tokens, Streaming, and Compose

A practical Android multimodal AI walkthrough covering Gemini Nano Multimodality, AICore model loading, image preprocessing, ViT tokenization, streaming inference, Compose rendering, memory, and thermals.

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 Testing in Practice: JUnit, Integration Tests, Compose Semantics, and CI

A practical Android testing strategy from ViewModel unit tests and Repository integration tests to Compose semantics UI tests and CI flaky-test governance.

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.

Android Process Survival and Resource Scheduling: OOM Adj to LMK

A system-level look at Android OOM Adj scoring, LMK and lmkd evolution, cgroup memory isolation, foreground services, expedited WorkManager jobs, and memory self-monitoring.

Inside Android Room: KSP Code Generation, Migrations, and Flow Queries

Walk through Room's KSP-generated DAO code, migration strategy, and Flow reactive queries, from compile-time SQL validation to InvalidationTracker.

Jetpack Compose Animation Internals: AnimationSpec, Springs, and Transition

A deep dive into Compose animation internals, including spring physics, the Choreographer-to-Snapshot frame pipeline, and how Transition synchronizes multiple animated properties.

End-to-End Android On-Device AI Model Security: From Encrypted Storage to TEE Inference

A practical walkthrough of layered protection for Android on-device AI models, from encrypted storage and hardware-backed keys to TEE inference, with engineering constraints and tradeoffs.