Mobile Computing · Cluster

Mobile Performance

Startup, memory pressure, and frame budget.

  1. 01 Cold Start Phases and Where Launch Time Is Spent The stages an app passes through between a tap and its first frame, which stages scale with code size, and why the reported launch time depends on where the clock starts. foundational · May 13, 2025
  2. 02 Frame Budget Arithmetic and the Real Deadline for Main Thread Work Why the per-frame budget is smaller than the refresh period, how the pipeline splits it between CPU and GPU, and which stages can run in parallel with which. foundational · Jun 10, 2026
  3. 03 The Main Thread Message Queue and Why a Single Long Task Delays Frames How a looper serializes work onto one thread, how synchronization barriers let frame callbacks overtake queued messages, and what makes a task on the queue expensive beyond its own duration. foundational · Aug 1, 2025
  4. 04 Memory Pressure, Kill Decisions, and What an App Can Observe Before It Dies How the platform ranks processes for termination under memory pressure, why a backgrounded app is not safe, and which signals give an app warning before the kill. intermediate · Sep 15, 2025
  5. 05 Allocation Rate, Heap Growth, and Garbage Collection Pauses on a Frame Budget Why per-frame allocation, not heap size, determines pause frequency, how a generational collector turns short-lived objects into a recurring cost, and what makes a collection visible in a frame. intermediate · Mar 11, 2025
  6. 06 Bitmap Memory and the Cost of Decoding at Full Resolution The byte arithmetic behind image memory, why a decode allocates more than the file size, and how sample size and format conversion change both the footprint and the time. intermediate · Jul 1, 2026
  7. 07 Class Loading and Verification Cost on the Startup Path How the runtime turns a class reference into executable code at first use, why verification walks bytecode the program may never run, and how ahead-of-time compilation changes the split. intermediate · Dec 4, 2025
  8. 08 Attributing Jank to a Specific Pipeline Stage A method for turning a frame timeline into one responsible stage, why the naive comparison of durations misleads, and how to distinguish queue latency from work latency. advanced · Apr 23, 2026
  9. 09 Buffer Queue Depth and the Latency It Adds Between Touch and Photon How many buffers a surface holds decides whether the pipeline can overlap frames or must serialize, and why every extra buffer buys throughput with input latency. advanced · Aug 26, 2026
  10. 10 Thermal Throttling and Why Sustained Frame Rate Diverges from Peak Frame Rate How the system converts power into heat, why a workload that is comfortable for seconds becomes janky for minutes, and how frame pacing decisions change the shape of the decline. advanced · Oct 7, 2023