Android startup process and classification
Startup process and classification
-
Boot process
Boot
|
BootLoader (boot chip)
|
LinuxKernel (init.rc)
|
init process id is 1
|
zygote process
|
JVM, SystemServer, etc.
|
Binder (thread pool) SystemServiceManager ActivityManagerService Other various services
|
Launcher -
Application start classification: cold start, warm start, warm start
Cold start: refers to the application start from the beginning: the system process only creates the application process after the cold start:
process:
load and start the app
|
immediately display a blank startup window for the app after startup
|
Create App process (create application object)
|
start main thread, create main activity
|
load layout, drawHot start: All the work of the system is to bring your Activity to the foreground. If all the activities of the application still reside in memory, the application does not need to repeat object initialization, layout expansion and presentation
-
Warm start: Covers some subset of operations that occur during a cold start. At the same time, it is more expensive than a warm start.