xamarin.forms android - service vs TaskCreationOptions.LongRunning

时间:2017-02-05 10:03:57

标签: xamarin.android xamarin.forms

我需要创建一个在后台运行的任务,并执行一些可能需要几分钟的操作(与UI无关)。

据我所知,如果我创建一个常规任务,Android操作系统可以在一段时间后销毁它,解决方案是创建一个后台服务。

我的问题是,如果下面的行可以替换服务,并且任务不会被Android操作系统破坏,直到完成任务:

Task.Factory.StartNew(()=> MyTask(),TaskCreationOptions.LongRunning);

1 个答案:

答案 0 :(得分:1)

  

我的问题是,如果下面的行可以替换服务

是的,您可以使用长时间运行的任务来处理耗时的操作。因为他们的本质是一样的。 IntentService相当于在服务时启动新任务。您可以参考the IntentService document。如果您不想在服务中启动任务,请使用TaskDuration (days)并在您想要的任何地方启动它。

  

在完成任务之前,Android操作系统不会销毁该任务

在您杀死应用程序之前,Android操作系统不会销毁IntentService和Task。