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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.