Emerge's Android startup testing launches your app on real, physical devices using Emerge's testing suite, allowing you to detect cold startup performance changes between any two builds.
- Emerge installs the base app on the device.
- Emerge runs any setup/login logic for the app.
- Emerge runs the first iteration of cold startup and records all network requests. The duration of this setup test is not recorded.
- Many iterations are run, recording the duration of each startup.
- Repeat steps 1-4 for the head app.
Emerge records startup times by default from the start of your app's process to the end of the first frame rendering. This is called "time to initial display" in the official Android documentation and is Emerge's default startup time metric.
We can enable startup performance testing on any upload to Emerge, get in touch with our team to enable it for your uploads!
While the first frame (time to initial display) is the standard metric for default cold start time, Emerge can also record and catch regressions in time to full display, to a custom end time using
Place a call to this anywhere in your startup path once your application has finished fully loading. This will usually be called from your main activity, once all layout & rendering logic has been completed.
Let the Emerge team know if you'd like to use
reportFullyDrawn as your primary measure.
Emerge supports any custom startup scenario (i.e. logged in, deeplink, etc), leveraging Custom Flow Performance Analysis (Android).
We're currently onboarding teams manually to custom startup scenarios, let the Emerge team know or email us to try it out!
Updated about 2 months ago