Одно из моих приложений для Android использует собственный класс Application для выполнения некоторой глобальной инициализации.Это делается с помощью метода onCreate()
:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
someCustomInit();
}
}
Это работает нормально, но теперь я обнаружил в консоли разработчика журнал сбоев, который показал, что MyApplication.onCreate()
не выполнялся / не завершился в то времяпроизошел сбой: произошел сбой кода, потому что некоторая инициализация, которая была выполнена MyApplication.onCreate()
, не была завершена.
Как это возможно? Я предполагал, что MyApplication.onCreate()
будет выполняться раньше, чем весь другой код?Разве это не правильно?
Можно ли переместить someCustomInit();
в конструктор MyApplication
вместо этого? Никакой другой код не должен запускаться до создания объекта приложения, верно?
Или есть какие-либо побочные эффекты от использования конструктора вместо onCreate()
?