У меня есть длинная работающая фоновая задача, которую я хотел бы начать, когда приложение запускается и завершается, когда приложение завершается. Я уже вполне осознаю жизненный цикл деятельности и то, что вызывается, когда деятельность создается и уничтожается.Где лучшее место для начала работы, общая задача приложения
Я иду с фона iOS, и там у нас есть некоторые вызовы, которые выполняются во время запуска и выключения приложения. Есть ли что-то подобное в мире Android? Я много искал, и все, что я нахожу, - это ответы, касающиеся деятельности, а не всего приложения.
(Android является относительно новым для меня, так что я могу просто не знать правильную терминологию для поиска.)
EDIT:
я попробовать быть немного более конкретными. У меня есть фоновая задача, которая должна выполняться постоянно, пока пользователь использует приложение. Он будет передавать потоки данных с сервера непрерывно, пока приложение активно. Это не нужно запускать, когда приложение находится в фоновом режиме. Для меня не имеет смысла связывать запуск/завершение этого фонового процесса с любым одним действием, поскольку это может быть не одно и то же действие, которое запускается, когда приложение становится активным.
Я (возможно, ошибочно), предполагая, что ОС заботится о запуске/остановке фоновых потоков при возобновлении и приостановке приложения. Если это так, то все, что мне действительно нужно сделать, это разворачивание фоновой задачи, когда приложение запускается первым, то есть когда оно загружается в память и становится активным в первый раз для этого сеанса.
Чем скорее вы перестанете думать о терминах «приложения», тем лучше будет. Приложения не запускаются и не останавливаются на Android, не больше, чем в веб-приложении. * Другие вещи * могут иметь семантику начала/остановки, которая может или не может удовлетворить ваши потребности. Процессы, например, начинаются и останавливаются. Поэтому, чтобы помочь вам, нам нужно точно знать, что вы подразумеваете под «запуском и выключением приложений». Например, если вы считаете, что нажатие на значок запуска на главном экране означает «запуск приложения», что означает «закрытие приложения»? – CommonsWare
Вы говорите, что при запуске ОС все приложения загружаются в память и запускаются одновременно? Как вы должны обрабатывать такие вещи, как синхронизация данных в фоновом режиме? В какой-то момент что-то должно ударить. –
«Вы говорите, что при запуске ОС все приложения загружаются в память и запускаются одновременно?» - нет. Однако «приложение» и «процесс» не являются синонимами для любого вероятного определения «процесса». – CommonsWare