Skip to content

Session

Why Your iOS App Feels Broken After an Hour: Diagnosing Long-Session Performance on Real Devices

with Vasuki Uday Kiran Vudathala

About This Session

Most iOS performance testing focuses on short benchmark-style validation such as launch time, API latency, and crash-free startup behavior. In practice, many production failures only emerge after hours of sustained real-world usage. Applications that initially feel smooth gradually degrade due to thermal throttling, memory accumulation, background process contention, frame pacing degradation, and main-thread amplification effects that simulators often fail to reproduce. This session explores performance as a systems problem rather than an isolated metric problem. Using a real production case study involving an airline crew application designed to operate during 18-hour flights without WiFi connectivity or server fallback, the talk demonstrates how long-session degradation patterns emerge over time and why traditional benchmarks consistently miss them. The session walks through practical techniques for diagnosing sustained performance degradation using Xcode Instruments, including Energy Log, Time Profiler, Leaks, Allocations, Core Animation, and os_signpost instrumentation. Attendees will learn how to instrument warm-start latency, track thermal state transitions, analyze FPS degradation, and correlate performance signals across extended session timelines on physical devices. The focus is highly practical and grounded in production engineering experience, providing mobile engineers and performance-focused developers with repeatable approaches for identifying degradation before it becomes user-visible in production systems.

Topics

  • iOS
  • Observability
  • Performance
  • Reliability
  • Swift
  • XCode