我运行我的asynctask类活动,然后完成活动,asynctask仍然有效。 Android经过一段时间杀死了我的asynctask。我试图添加到函数run "Process.setThreadPriority (Process.THREAD_PRIORITY_FOREGROUND);"
或"Process.setThreadPriority (Process.THREAD_PRIORITY_BACKGROUND);"
但asynctask仍然被杀死。
是的我知道他们是服务,但我希望任务在完成工作后完成,并且不会在后台作为服务一直工作。
答案 0 :(得分:0)
您应该使用IntentService
。这与常规服务不同。 IntentService
会导致service
在完成后自行关闭。 IntentService
未在UI线程上运行,因此您无需处理"你需要做一个服务..
你开始它,它做了一些工作,当它完成它关闭自己,正是你需要的。
您无法确保Asynctask
完成,因为它不是为此目的而构建的。
此外,service
不是"正在运行"就像在cpu中,即使它打开也无所事事。