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