What is Zygote?A process used to create Android app processes with a prepared runtime environment. A device can use the pre-forked USAP pool, so allocating an app process need not involve a fresh fork after the tap. AOSP: Zygote.
How would you measure startup time?Use repeated Macrobenchmark startup measurements and inspect the trace. Distinguish initial display from full display, and keep the device, scenario and compilation conditions comparable. StartupTimingMetric.
Can an app process start without an Activity?Yes. A permitted service, receiver or provider operation can require a process. Application initialization belongs to that process, not only to Activity launch. Different app processes have separate Application instances. Application.
A cold launch takes three seconds. Where would you start?First determine whether the number describes the first frame or fully usable content. Inspect repeated measurements and trace initialization, SDK providers, main-thread I/O and first-screen work. Re-measure each change instead of assuming that lazy initialization or a profile fixes every startup. Startup diagnostics.