我需要创建一个在后台运行的任务,并执行一些可能需要几分钟的操作(与UI无关)。
据我所知,如果我创建一个常规任务,Android操作系统可以在一段时间后销毁它,解决方案是创建一个后台服务。
我的问题是,如果下面的行可以替换服务,并且任务不会被Android操作系统破坏,直到完成任务:
Task.Factory.StartNew(()=> MyTask(),TaskCreationOptions.LongRunning);
答案 0 :(得分:1)
我的问题是,如果下面的行可以替换服务
是的,您可以使用长时间运行的任务来处理耗时的操作。因为他们的本质是一样的。 IntentService相当于在服务时启动新任务。您可以参考the IntentService
document。如果您不想在服务中启动任务,请使用Task
或Duration (days)
并在您想要的任何地方启动它。
在完成任务之前,Android操作系统不会销毁该任务
在您杀死应用程序之前,Android操作系统不会销毁IntentService和Task。