У меня есть многопоточное приложение, в котором фоновые потоки используются для загрузки данных по сети или с диска / базы данных. Время от времени пользователь выполняет некоторые действия, например, извлекать новости по сети, которые будут вызывать фоновый AsyncTask, но по какой-то причине пользователь выйдет из приложения (нажмите кнопку назад, чтобы активность была уничтожена). В большинстве таких сценариев я делаю соответствующие проверки в фоновом потоке после его возврата из n / w ввода / вывода, чтобы он не зависал при доступе к членам действия, которое уже уничтожено. Тем не менее, некоторые угловые случаи остаются там, где происходят сбои, потому что фоновый поток получит доступ к какому-либо члену активности, который теперь является нулевым.
Есть ли у других разработчиков Android какие-либо общие / рекомендуемые рамки для обработки таких сценариев?
Это времена, когда я хочу, чтобы android гарантированно завершил все потоки, когда активность разрушается (так же, как обычный процесс linux очищается при выходе) ... но я думаю, у разработчиков Android были веские причины не выставлять время жизни процесса через API.