Android Engineering Articles · Page 4

Inside Android Context: ContextImpl and Component Lifecycles

A practical look at ContextImpl and the differences between Application, Activity, and Service contexts for resources, themes, windows, and lifecycle safety.

Android App Standby Buckets: Background Resource Limits Explained

How Android classifies app activity, applies background execution limits, and how to design work that remains reliable under standby restrictions.

Speeding Up Android WebView: Resource Interception and Offline Package Caching in Practice

A practical walkthrough of using shouldInterceptRequest to serve WebView resources from a local offline package, cutting first-paint time from 2.8s to 0.6s.

Android Desktop Windowing and Freeform Windows: From Display Partitioning to Multi-Instance Multitasking

An end-to-end look at Android desktop windowing and freeform windows, covering DisplayContent partitioning, Task window management, multi-instance parallelism, and input dispatch, with real adaptation lessons.

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 Network Security Config to SSL Pinning: An End-to-End Guide

A practical walkthrough of Android's three-layer network defense: Network Security Config, SSL Pinning, and Certificate Transparency, from configuration traps to production monitoring.

Evaluating and Optimizing On-Device AI on Android: From Offline Benchmarks to Production Experiments

A from-scratch evaluation system for on-device AI: offline benchmarks for initial filtering, production confidence-distribution monitoring, and A/B experiments to drive decisions — cutting iteration cycles from 3 weeks to 1.5.

Android Multi-Channel Builds: From Gradle Flavors to Walle V2 Signature Injection

Two approaches to Android multi-channel packaging: Gradle Flavor builds and Walle's V2 signature block channel injection, with APK Signing Block internals and production lessons.

From PyTorch to TFLite on Android: A Practical Model Format Conversion Guide

A hands-on guide to converting PyTorch models through ONNX into TFLite and MediaPipe for on-device Android deployment, covering dynamic shapes, operator compatibility, and INT8 quantization.

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 Concurrency in Practice: Thread Pools, Queues, and Coroutine Dispatchers

A practical guide to Android thread pool tuning, queue selection, rejection policies, and how Kotlin coroutine dispatchers map onto underlying thread pools.

Inside the Compose Compiler Plugin: From @Composable to Synthetic Parameters

How the Compose Compiler Plugin transforms @Composable functions at the IR level, covering $changed bitmasks, skip logic generation, state read/write markers, and stability inference rules.

A Practical Guide to On-Device AI Pipelines with Kotlin Flow

Model on-device inference as a declarative, composable pipeline of Preprocess, Inference, and Postprocess stages wired together with Kotlin Flow operators, backpressure, and layered tests.

Inside MMKV: How mmap and Append-Only Protobuf Beat SharedPreferences

A practical walkthrough of MMKV's mmap memory mapping and append-only Protobuf writes, why SharedPreferences blocks the main thread, and how to choose between SP, MMKV, and DataStore.

Android Spannable Internals: From Spanned to Canvas Rendering

An end-to-end walkthrough of Android's rich text engine — markup storage, span callback layers, TextLine Canvas dispatch, custom ReplacementSpan and ParagraphStyle, and Compose AnnotatedString.

Inside Android Crash Aggregation: Stack Fingerprinting to Automated Issue Triage

A practical guide to Android crash stack fingerprinting: normalizing exception messages, deobfuscation-aware frame processing, weighted frame-sequence fingerprints, similarity clustering, and an automated triage pipeline.

Inside Android Matrix: A Production-Grade APM Framework Walkthrough

How Matrix intercepts main-thread stalls with Looper Printer sampling, catches hidden I/O via PLT Hook, and what to copy when building your own APM.

Android Studio Profiler in Practice: CPU Tracing to Memory Allocation Diagnostics

A practical guide to the full Android Studio Profiler toolkit, covering CPU sampling vs. instrumentation, flame graph reading, memory allocation tracking, heap dump diffing, and layered diagnosis with Systrace and Perfetto.

Android VpnService End-to-End: TUN Virtual Interface to Packet Interception and Local Proxy

A practical walkthrough of building a local VPN proxy on Android with VpnService, covering TUN interface creation, IP packet parsing, TCP state machine maintenance, SOCKS5 forwarding, and NAT.

Building a Custom RecyclerView LayoutManager: Layout, Caching, Scroll, and Animation

An end-to-end guide to writing a custom RecyclerView LayoutManager: the Fill algorithm, three-tier cache, scroll state machine, dead-reckoning, and animation tradeoffs.