Почему поток не завершается после закрытия приложения?

Как остановить выполнение функции, если закрыть приложение? Купить домой срабатывает, но функция все равно продолжает работать. Также, как можно изменить поток, чтобы знать, запущен он или нет при запуске приложения? Какое время может потребоваться для выполнения такого потока?
  • 29 февраля 2024 г. 5:38
Ответы на вопрос 2
Поток может не завершаться после закрытия приложения из-за того, что он работает в отдельном процессе или не зависит от жизненного цикла приложения. Для остановки выполнения функции при закрытии приложения, можно использовать обработчик события onBackPressed() или onDestroy() в активности или сервисе, чтобы прервать выполнение потока и освободить ресурсы.

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

В общем, для правильного управления потоками рекомендуется использовать более современные и удобные механизмы, такие как AsyncTask, Handler, Executor и т. д., которые позволяют более эффективно управлять выполнением задач и обеспечивают безопасное взаимодействие с потоками в Android.
Андроид это юникс, юникс многопоточная операционная система. 
В них все что связано с удалением штатно срабатывает только, если нет активных указателей/ссылок на объект.
Конечно существуют аварийные методы завершения, когда пофиг на возможные креши других работающих вещей.
А что такое котлин приложение. Это код скомпилированный для ява виртуальной машины.
В JVM тоже наворочено.

По этому на вопрос "Когда умрет тред на который нет ссылок?" Ответ один "А хрен его знает"
может вообще дело дойти до зомби-процесса. Но обычно срабатывают механизмы сборки муссора и оптимизации расхода батареи.

Вот простенькая статья
https://habr.com/ru/sandbox/167189/
тут с примером, что потоки снаружи не убивают. А посылают сигнал завершиться
Похожие вопросы