Performance Articles

Kotlin `suspend` Internals: From CPS Transformation to State-Machine Bytecode

A compiler-level walkthrough of how Kotlin turns suspend functions into state-machine bytecode, from CPS transformation and Continuation to local-variable liveness and coroutine resumption.

Android 16 Predictive Back: Migration, Dispatchers, and Gesture-Driven Animation

A practical Android 16 Predictive Back migration guide covering OnBackInvokedDispatcher registration, OnBackAnimationCallback frame-driven animation, Fragment support, Compose PredictiveBackHandler, and a migration checklist.

Android Power Management: From Wakelock Abuse to Doze-Aware Engineering

A practical guide to Android power management covering Wakelock leaks, Doze, App Standby buckets, Battery Historian diagnostics, and WorkManager.

Android 16 Edge-to-Edge: WindowInsets Dispatch and System Bar Adaptation

Android 16 treats forced edge-to-edge as a breaking change for targetSdk 36 apps. This guide explains the WindowInsets dispatch path and practical adaptation strategies for both View and Compose UIs.

Jetpack Compose Snapshot State: From MutableState to Recomposition

A deep dive into Compose Snapshot as an MVCC runtime, covering MutableState writes, Snapshot apply, RecomposeScope invalidation, derivedStateOf, and MutationPolicy.

Android init and the Boot Process: From BootLoader to Home Screen

A deep dive into Android init, from BootLoader to Home Screen, covering init.rc parsing, property triggers, system_server startup, and boot optimization.

Android ConnectivityManager Deep Dive: From NetworkCallback to Adaptive Network Switching

From NetworkInfo's limits to the NetworkCapabilities model, this article explains real-time network monitoring and adaptive switching with ConnectivityManager.

Compose LazyColumn Scroll Performance: From Recomposition Tracing to Stable Frame Rates

A practical LazyColumn performance guide covering recomposition spread, stability annotations, lambda stabilization, image loading isolation, compiler metrics, and Baseline Profiles.

Jetpack Compose Phases: From Composition to Layout and Drawing

A deep dive into the three Jetpack Compose phases: Composition, Layout, and Drawing, with state reads, skip behavior, and performance guidance.

Android Large IPC: From Binder's 1 MB Limit to ASharedMemory

A practical guide to large cross-process data transfer on Android, comparing Binder limits, MemoryFile, ASharedMemory, Surface, and ContentProvider.

Android Custom IME: InputMethodService, Process Isolation, and Candidates

A practical guide to Android custom input methods, covering InputMethodService, IME process isolation, InputConnection, candidate engines, and keyboard rendering.