Android 杀了我的 Threads/AsyncTasks

Android kills my Threads/AsyncTasks

我 运行 我的 activity 的异步任务 class,然后完成 activity,异步任务仍然有效。 Android 一段时间后终止了我的异步任务。我试图添加到函数 运行 "Process.setThreadPriority (Process.THREAD_PRIORITY_FOREGROUND);""Process.setThreadPriority (Process.THREAD_PRIORITY_BACKGROUND);" 但 asynctask 仍然被杀死。

是的我知道他们是Services,但我希望工作完成后任务完成,而不是一直在后台工作作为Services。

你应该使用 IntentService。这与常规服务不同。 IntentService 将导致 service 在完成后自行关闭。 IntentService 不是 UI 线程上的 运行,因此您不需要 "handle" 它,因为您需要处理服务。 你启动它,它会做一些工作,当它完成时它会自行关闭,这正是你所需要的。

您无法确保 Asynctask 会完成,因为它不是为此目的而构建的。

此外,service 不是 "running",即使打开也无事可做时 cpu。