Я использую прослушиватель Network Change (в манифесте) в приложении для Android, здесь я могу наблюдать, как приложение получило какой-либо процесс широковещательного приложения, который продолжает работать даже после завершения выполнения трансляции. Я наблюдал это поведение в сборке отладки при подключении к студии, это тоже поведение в режиме реального времени?Процесс Android не заканчивается даже после выполнения BroadcastRexceiver
ответ
Да, это ожидается. Выпустив BroadcastListener
, система Android запустила процесс вашего приложения. Затем он будет продолжать этот процесс до тех пор, пока ему не придется убивать его за ресурсы.
Это не означает, что в фоновом режиме работают любые пользовательские компоненты вашего приложения (например, Activities
, Services
и т. Д.). Просто процесс, который является «коробкой», в которой находятся все, что :-)
_ «Это не значит, что ваше приложение работает в фоновом режиме» _ Это очень запутанный способ поставить его , На самом деле он работает в фоновом режиме, просто ничего не делая. – Onik
Перефразировал его, чтобы сделать его менее запутанным ^^ – Kelevandos
Есть ли причина, по которой вы хотели бы, чтобы процесс не был в фоновом режиме? – Kelevandos
Да, в моей библиотеке я отслеживаю продолжительность использования приложения пользователем приложения, но это все испортило. Захват времени начала в классе Application и длительности завершения в обратном вызове onStop, но в этом случае я не могу взять конечную временную метку, это сеанс продолжается до тех пор, пока пользователь не запустит приложение и не переместится на задний план. Даже я не могу попросить разработчиков завершить процесс после каждого получателя. У вас есть решение для этого? – Ravi
Ну, вы должны, вероятно, только учитывать время в пользовательских компонентах вашего приложения, таких как «Деятельность», «Службы» и т. Д. – Kelevandos