Есть ли обратный вызов инициализации процесса в Android?

1

Предположим, что в моем приложении много процессов.
Я пытаюсь запустить некоторый код инициализации (фактически сохранить контекст приложения в статической переменной) в приложении onCreate(). Но я обнаружил, что в некотором процессе onCreate() не запускается перед другим кодом в том же процессе и, следовательно, не может получить доступ к кэшированному контексту.
Где я должен поместить код инициализации (сохранить контекст приложения), чтобы он запускался перед любым кодом в том же процессе?

  • 0
    onCreate() в вашем классе Application должен выполняться раньше всего. Пожалуйста, объясните более подробно, что, по вашему мнению, вы наблюдаете.
  • 0
    Это также правильно, когда есть несколько процессов? Теперь, мой случай, что какой-то процесс не подчиняется этому правилу ...
Показать ещё 5 комментариев
Теги:
process
android-context

1 ответ

1
Лучший ответ

Основываясь на обсуждении, которое мы провели в чате, у вас есть проблема, потому что вы пытаетесь получить приложение Context во время статической инициализации какого-либо вспомогательного класса. Я предложил следующее:

Если ваш вспомогательный класс используется только для компонентов Android, то к тому моменту, когда компонент Android вызовет ваш класс, будет вызван Application.onCreate(), и вы сможете получить контекст оттуда. Вам просто нужно подождать, пока вы не получите фактический звонок от компонента Android, чтобы пойти и получить контекст.

Не пытайтесь делать это, как только создается вспомогательный класс. Только делайте это, когда вам это нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню