Intereting Posts
ADT R22 – Proguard – не может найти ссылочный класс Просмотр иерархии монитора Android Debug не отображается Попытка открыть тег SELECT в Android WebView приводит к сбою приложения Пользовательский список с проблемой флажка Youtube API v3 поиск видео, получение заголовка и URL-адреса Android как вращать холст rect Glassware auth: android.accounts.OperationCanceledException «Совместное использование учетных данных не допускается: отмена». Загрузка полной трансляции, обработанной последовательно в KITKAT 4.4.2 <ACTION_BOOT_COMPLETED> <ActivityManagerService.java> Android Mobile Backend Starter сбой 404 не найден … несколько раз Продолжайте получать эту ошибку, когда я пытаюсь скомпилировать Gradle в Android Studio на UBUNTU 14.04 Возможно ли отслеживать HTTP-трафик на Android, зная, какое приложение генерирует запросы? Почему ViewPager дает ошибки в режиме Android Studio Design? Андроид, как узнать, когда потеряно интернет-соединение? Поставщик контента Android предоставляет неизвестный URL-адрес: // com Как найти текстовую область (Высота / Ширина) TextView программно в android

Гарантируется ли экземпляр класса Application до того, как вызывается определенный загрузочный приемник

Извините меня за такой элементарный вопрос. Я понимаю, что класс приложения создается при запуске процесса моего приложения, и я понимаю, когда телефон будет завершен, и загрузится мой загрузочный приемник. Я предполагаю, что после того, как телефон узнает через манифест, что мое приложение содержит фильтр намерения BOOT_COMPLETED, процесс перезагрузки. Телефон перезагружается, телефон запускает все процессы с помощью BOOT_COMPLETED, телефон отключается от широковещательной передачи BOOT_COMPLETED. Мое беспокойство вызвало недоумение, ссылаюсь ли я на переменные экземпляра класса Application в моем загрузочном приемнике, если получатель когда-либо будет вызван до того, как будет создан экземпляр класса Application.

Опять извините, если это мертво очевидно. Я никогда не понимал механику перезагрузки.

Приложение всегда запускается перед любым из его видов деятельности / служб / приемников. Вот несколько блогов, которые входят в детали:

[Изменено]

Но, согласно комментарию @CommansWare:

Основываясь на протоколировании, экземпляр ContentProvider создается после экземпляра приложения. Однако onCreate () ContentProvider вызывается перед onCreate () приложения.

Таким образом, вероятно, небезопасно пытаться использовать экземпляр приложения в onCreate() поставщика.

Телефон перезагружается, телефон запускает все процессы с помощью BOOT_COMPLETED, телефон отключается от широковещательной передачи BOOT_COMPLETED.

Я бы BOOT_COMPLETED его более «перезагрузкой телефона», телефон отключен от BOOT_COMPLETED , и происходит обычная широковещательная обработка, включая запуск любых необходимых процессов ».

Мое беспокойство вызвало недоумение, ссылаюсь ли я на переменные экземпляра класса Application в моем загрузочном приемнике, если получатель когда-либо будет вызван до того, как будет создан экземпляр класса Application.

Это не должно. Предполагается, что порядок создания экземпляра:

  • ContentProviders вы определили в своем манифесте, затем

  • Экземпляр Application , то

  • Компонент, который вызвал необходимость в этом процессе (в данном случае ваш ACTION_BOOT_COMPLETED BroadcastReceiver )