使用异步任务在活动中完成任务。呼叫服务

时间:2012-04-13 03:12:35

标签: android

当需要进行异步操作时,通常建议将其置于服务中,也许是意图服务。大。但是,也不建议从服务启动活动...因此,当异步响应返回到服务内部时,用户可能在不同的屏幕上。然后他们就是绑定服务的整个方面......有人想知道哪条路更好,为什么?我的意思是服务很酷但是绑定到服务调用,并且还存在服务不应该回调到活动的问题。那么哪种方式更好。使用AsyncTask与服务进行异步工作的标准是什么?还有requestForResult()选项......

1 个答案:

答案 0 :(得分:3)

标准基本上是,

  1. 您是否需要定期更新某些数据或继续执行某项任务(即使您的应用程序活动不再运行,Android也会提供音乐播放器的示例,即使没有可见的活动,音乐也会继续)在这里使用服务。

  2. 您是否需要多个应用程序运行您的数据或某项任务?在这种情况下,应用程序需要绑定到您的服务并访问信息。

  3. 您是否有涉及IPC的案例?使用服务。

  4. 你是否有一个案例,你需要做的是做一个繁重的任务,如下载数据,一些需要时间的踢屁股算法?在后台线程中完成所有繁重的任务,并在完成后更新UI。使用AsyncTask。

  5. Asynctask很简单。主要用于您的活动,以在单独的线程中执行繁重的任务以避免ANR。

    另一方面,服务用于执行需要运行的任务,即使您的应用程序未运行,其他应用程序需要绑定到更新数据,您需要在显示活动之前更新数据。

    我确信还有更多的标准,但这些只是我刚才发现的一些标准。