Cold Start
// Definition
The time from when a user taps an app icon to when the first interactive frame is visible, measured when the app process is not already in memory. A cold start is the worst-case launch scenario: the OS must create a new process, load the app binary from disk, initialise the runtime (JVM on Android, Swift/ObjC runtime on iOS), and render the first frame. Warm starts — where the process exists in memory but the activity was destroyed — are faster. Hot starts — where the activity is merely paused — are fastest. Google's Android Vitals targets 5 seconds as the threshold beyond which users abandon the launch; well-optimised apps aim for under 2 seconds. Testing cold start requires clearing the app from memory (via adb shell am force-stop or equivalent), then timing the launch with Perfetto, Xcode Instruments, or platform-native profiling tools.
// Related terms
ANR (Application Not Responding)
An Android system dialog triggered when the main thread of an app is blocked for more than 5 seconds while handling a user input event, or more than 10 seconds for background processing. The OS determines that the app is unresponsive and presents the user with 'Application Not Responding' — options to wait or force-close. ANRs signal that expensive work (network calls, database queries, file I/O, complex computation) has been performed on the main thread instead of being offloaded to a background thread. Android Vitals (Google Play Console) tracks ANR rate as a core quality metric. Reproduce and diagnose ANRs using Android Studio's CPU Profiler, StrictMode (which detects main-thread IO in debug builds), or Perfetto traces. iOS does not use the term ANR but has an equivalent concept: main-thread hangs that trigger watchdog terminations.
Mobile Testing
The practice of verifying mobile applications — native, hybrid, and mobile web — across devices, OS versions, and screen sizes. Mobile testing encompasses functional testing, gesture interactions, permissions handling, context switching for hybrid apps, and OEM-specific behaviour that emulators may not replicate.