Android performance testing launches your app on real, physical devices using Emerge's testing suite, allowing you to detect cold startup performance regressions for any PR before it's merged.
Each time a new release build of your AAB is uploaded to Emerge, it's run on a Google Pixel 3, along with the version it's being compared against (the app referenced from the specified
Your app and the comparison app are launched numerous times on the same device in a randomized order, clearing the app and killing the process in between runs to preserve a consistent, cold-start state. While running each iteration, we record various performance metrics in addition to every function call in your startup path.
Performance testing only works with release, non-debuggable AAB uploads. Please contact your Emerge representative if you wish to run performance testing on APKs.
No developer setup is required!
Emerge records startup times by default from the start of your app's process to the end of the first frame rendering. This is referred to as time to initial display in the official Android documentation and is Emerge's default startup time metric.
We can enable startup regression testing on any upload to Emerge, get in touch with our team to try it out!
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 completed.
Interested in performance testing custom scenarios such as logged-in/out or any custom flow? We're actively onboarding key partners. Get in touch with our team!
Updated about 2 months ago
Understand how to view performance testing results: