Как залогировать самую раннюю точку старта приложения

«Как залогировать самую раннюю точку старта приложения» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для логирования самой ранней точки старта приложения можно использовать Application класс и переопределить его метод onCreate(). Это точка, где приложение инициализируется до запуска любой активности.

class MyApp : Application() {
    override fun onCreate() {
        super.onCreate()
        Log.d("APP_START", "Application onCreate() - earliest start point")
    }
}

Не забудьте указать этот класс в манифесте:

<application
    android:name=".MyApp"
    ...>
</application>

Для более точного замера времени старта можно использовать android:debuggable и Debug.startMethodTracing(), но это уже для профилирования. В продакшене лучше ограничиться логами.