服务可以,但Asynctask不可以?

时间:2014-01-02 09:07:09

标签: android service android-asynctask intentservice

我已阅读服务,意向服务和& Asynctask ,但我还没有想出任何只有服务可行但Asynctask失败的情况。

我注意到了一些观点:

  1. Asynctask可以用作绑定或启动服务。

  2. Asynctask可以在后台运行,如果用户切换到不同的应用程序,Asynctack也会工作。

  3. Asynctask可以向我们的活动发送消息。

  4. 如果启动asynctask的组件被销毁,那么asynctaskask也会在后台执行,我们可以使用它的onPostexecute()方法启动另一个应用程序组件。

  5. 所以请告诉我一些我们必须使用Service的功能,我们不能用Asynctask来实现它们。

2 个答案:

答案 0 :(得分:1)

当您的应用由于内存不足而自动销毁或用户从任务管理器抛出时,您的异步任务也会被破坏,但在同样的情况下,服务不会被销毁。

答案 1 :(得分:0)

  意图服务,服务几乎相同,你不应该比较它们。您可以比较服务asynctask。服务和异步服务的区别在于asynctask是ui-thread blocker但服务不是。服务可以在后台完全运行。它的问题与用户界面设计有关,以登录用例为例,它应该异步发生而不是在后台。这里ui应该等待用户的光标,但是上传文件可能发生在后台,用户只需要启动进程和contineuos与其他任务。

希望你明白。