Sample Header Ad - 728x90

Does Android perform cold app startup optimization?

0 votes
0 answers
50 views
I am trying to measure the time it takes to launch an App (cold startup) on Android. As the official documentation states, that the startup time will be displayed in the logcat:
ActivityManager: Displayed com.android.myexample/.StartupTiming: +3s534ms
The problem I currently have is that startup times vary greatly. I tested on three different days à 10 times. These are the results: - Day 1: - ~1100ms - Day 2: - ~900ms - Day 3: - ~350ms **My Question:** Does Android perform any optimization in the background for the App startup? Is there a way to reliably measure the startup time? I haven't done any changes to the App in these three days. Before the testing, the phone was at 100% battery capacity and was cold to the touch (to eliminate the possibility of thermal throttling). On day 2 and 3, I deleted the App, restarted the phone, reinstalled the App and tested again with the same results (day 2 was again ~900ms and on day 3: ~350ms). Maybe it has something to do with the ART (Android RunTime) using JIT (just-in-time) and AOT (ahead-of-time) compiler?! The app does not perform any network actions. At startup it only ready about 100 pictures from the internal storage and displays them in a Recycler View . I used a Google Pixel 2 running on Android 9. The app is written in Java.
Asked by Markus (1 rep)
Dec 16, 2020, 11:03 AM