Performance Optimization Articles
Android On-device AI Image Preprocessing: From Bitmap Pixels to Tensor Input
A full Android on-device AI preprocessing pipeline from Bitmap pixels to tensor input, covering memory layout, pixel conversion, resize choices, normalization, and zero-copy optimization.
Read Post
Android Hybrid AI Routing and Offline Fallback: End-to-end On-device and Cloud Inference Scheduling
A practical Android hybrid AI inference architecture covering multidimensional routing, network-quality awareness, three-tier offline fallback, and priority request scheduling.
Read Post
Android Push Delivery: FCM, Vendor Channels, and Doze
A practical look at Android push delivery across FCM and OEM vendor channels, including keepalive behavior, Doze impact, routing, TTL, and fallback design.
Read Post
Android Screen Capture Internals: MediaProjection, Surface, and MediaCodec
A deep dive into Android screen capture, covering MediaProjection permissions, VirtualDisplay, ImageReader, MediaCodec, BufferQueue transport, and frame-rate debugging.
Read Post
Android Font Rendering Internals: Typeface, Minikin, and Skia Glyphs
A deep dive into Android font rendering, from Typeface loading and Minikin fallback to downloadable fonts, Skia glyph rasterization, caches, and practical performance fixes.
Read Post
Android Shared Element Transitions: ActivityOptions to Compose SharedTransitionScope
A practical guide to Android shared element transitions, covering ActivityOptions, Snapshot and GhostView, Compose SharedTransitionScope, pitfalls, and migration.
Read Post
Android Zygote Process Deep Dive: From init fork to App Incubation
A deep dive into Android Zygote startup, preloading, socket communication, fork specialization, and how COW makes app process creation fast.
Read Post
Inside Android Vulkan: Migrating from OpenGL ES to Low-Overhead GPU Rendering
A practical Android Vulkan migration guide covering command buffers, render passes, descriptor sets, pipeline cache, VMA, AHardwareBuffer, and GPU driver tuning.
Read Post
Inside Android TTS: From TextToSpeech API to On-Device Vocoders
A full-stack look at Android TTS, including engine binding, synthesis callbacks, on-device HiFi-GAN vocoders, streaming playback, and TTFA tuning.
Read Post
HTTP Protocol Evolution from a Performance Perspective
HTTP is a request-response application-layer protocol for transferring hypertext and other web resources between browsers and servers.
Read Post
Inside the Android Sensor Framework: From SensorManager API to Sensor HAL
A full-stack look at Android sensors, covering SensorManager, SensorService scheduling, BitTube delivery, virtual sensor fusion, batching, and power tuning.
Read Post
Android Native Memory Analysis: From malloc_debug to heapprofd
A practical guide to Android native heap leak analysis, from quick malloc_debug checks to Perfetto heapprofd flamegraphs and sampling workflows.
Read Post
Android NNAPI End to End: From HAL Abstraction to Qualcomm and MTK NPUs
A practical deep dive into Android NNAPI, covering the HAL layer, vendor drivers, graph partitioning, operator fallback, and on-device AI inference tuning.
Read Post
Android Dumpsys Deep Dive: System Service dump() to adb Debugging
A practical deep dive into Android dumpsys internals, covering Binder IPC, dump permission gates, buffer behavior, and scripts for memory leaks, ANR snapshots, and Binder storms.
Read Post
Android ConstraintLayout Deep Dive: From Cassowary Solving to Compose Constraints
A deep look at ConstraintLayout's Cassowary constraint solver, its O(n^3) performance ceiling, and how Compose constraints shift layout work toward deterministic O(n) placement.
Read Post
Progressive Android Compose Migration from Views to Declarative UI
A practical review of progressive migration from Android Views to Jetpack Compose, covering infrastructure, phased replacement, list performance, interop governance, rollout validation, and real performance data.
Read Post
System-Level Android Performance Analysis and Tuning with Systrace and Perfetto
When Android apps suffer from jank, slow startup, high power use, or sluggish response, app-level profilers are often not enough. Perfetto and Systrace expose CPU scheduling, Binder, rendering, I/O, memory, and power behavior across the whole system.
Read Post
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.
Read Post
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.
Read Post
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.
Read Post