Android Articles

Android BroadcastReceiver End to End: Registration to BroadcastQueue

A deep dive into Android BroadcastReceiver dispatch, covering dynamic and static registration, BroadcastQueue scheduling, ordered broadcasts, sticky broadcast deprecation, background limits, and async timeout handling.

Android Rendering and the Graphics Stack: A Deep Dive

A full walkthrough of Android rendering, from View invalidation, Choreographer, and RenderThread to BufferQueue, SurfaceFlinger, jank diagnosis, and optimization.

Android BLE End to End: GATT, Scanning, and Long-Lived Connections

A practical guide to Android BLE development, covering the GATT protocol stack, scan power tradeoffs, reconnection, Doze handling, and multi-device long-connection management.

Android App Battery Optimization with Battery Historian

A practical Android battery optimization guide using Battery Historian and Perfetto to reduce Wakelock, Alarm, and Network drain through staged background policies and CI checks.

Android Feature Flags and Gradual Rollouts

A practical Android feature flag architecture covering remote config, local cache, hash buckets, staged rollout, kill switches, sticky enrollment, and Firebase tradeoffs.

Inside Android AlarmManager Scheduling

A full-path breakdown of Android AlarmManager scheduling, from AlarmManagerService Binder calls to RTC wakeups, Doze limits, batching, and dumpsys debugging.

Inside Android ART Garbage Collection

A practical look at ART garbage collection, from Dalvik mark-sweep to CMS, Concurrent Copying, generational GC, allocation storms, LOS behavior, and startup tuning.

Android AICore and Gemini Nano: System Services, Safety Filters, and LoRA Adaptation

A deep dive into Google AICore for Gemini Nano on Android, covering APEX delivery, permission isolation, model distribution, safety filtering, session management, and LoRA adapters.

Android TextView Internals: Complex Text Layout Scenarios, Part 4

Part 4 of the Android TextView measurement and layout series covers RTL/BiDi text, emoji, rich text spans, performance, and debugging.

Android TextView Internals: Text Measurement and Layout

A deep dive into how Android TextView measures and lays out text, from Layout selection and line breaking to font metrics, RTL text, emoji, spans, and performance.

Android Internationalization: Configuration, Resources, and App Locale

A practical guide to Android internationalization, covering Configuration, ContextWrapper isolation, Android 13 per-app locales, and Crowdin translation pipelines.

Android DEX Bytecode and MultiDex: The Full Loading Pipeline

A full walkthrough of Android DEX bytecode limits, the real source of the 65,536 method ceiling, MultiDex splitting, PathClassLoader loading, and production pitfalls.

Android Network Stack Optimization: DNS, TLS 1.3, HTTP/3, and QUIC

A practical guide to Android network stack optimization, covering DNS resolution, DoH and HttpDNS, TLS 1.3 handshakes, HTTP/3, QUIC, and 0-RTT.

Android Media3 Playback Architecture: From ExoPlayer to MediaSession

A deep dive into Android Media3 playback architecture, from the ExoPlayer core to the MediaSession control pipeline, buffering strategy, and migration practices.

Understanding and Optimizing Autofill in Android WebView

Autofill is a browser or operating-system feature that fills form fields from stored user data such as addresses, passwords, and payment details, reducing repetitive input and improving interaction speed.

Advanced Kotlin Coroutines and Flow: Applications and Internals

Async programming is unavoidable in Android development. This guide explains advanced Kotlin Coroutines and Flow usage, from structured concurrency to reactive streams.

Jetpack Compose Advanced Applications and Internals

Jetpack Compose points to the future of Android UI development with a declarative programming model that differs sharply from the traditional imperative View system.

Android Modular Scroll Containers: From ViewTypes to Section Engines

A section-based Android page container architecture using ConcatAdapter, lazy loading, and module-level paging to decouple complex ecommerce screens.

Advanced Android Network Programming and Optimization (3): Advanced Retrofit Usage

Part 3 of Advanced Android Network Programming and Optimization: Retrofit extensions, gRPC, WebSocket, weak-network tuning, caching, retries, and monitoring.

Advanced Android Network Programming and Optimization (1): Networking as the App's Lifeline

Part 1 of Advanced Android Network Programming and Optimization: protocol evolution from HTTP/1.1 to HTTP/2, QUIC, and HTTP/3.