WARNING: IntelliJ changes their startup lifecycle often as they try to fix performance issues. Many APIs are marked “internal”, so they could change anytime. The following information is current as of AS 2022.1 (Electric Eel).
AndroidPluginInitializeris invoked to initialize analytics & studio progress manager (which should be moved further down)
preload=true(not guaranteed), or
preloadattribute is set in the service registration.
preload=awaitimplies that the startup will wait for this service to be initialized before moving to the next phase in startup.
preload=trueimplies that the startup sequence will not wait for the service to be initialized, but these may not be initialized at all in some modes of the IDE (such as LIGHT_MODE).
ApplicationComponentconstructors are called
AndroidInitialConfiguratoris run at this time.
AndroidInitialConfiguratoralso executes all Runnables that extend
SystemInfoStatsMonitoris started here
DisableGradleProjectOpenProcessorused to unregister the platform's
ActionManager.<init>, which runs sometime during app startup upon first access
GradleSpecificInitializer(TODO: this should not be a
ProjectManagerListener.projectOpenedis invoked here
The following extensions are safe to use, whereas the ones above should be used with caution and perhaps a review with someone from the platform team.