2012-04-13 218 views
2

当需要完成某些异步操作时,通常建议将它放入服务中,也许是一项意向服务。大。但是,也不建议从服务启动活动...因此,当异步响应返回到服务内部时,用户可能位于不同的屏幕上。那么他们就是服务绑定的整个方面......一个人想知道哪种方式更好,为什么?我的意思是服务很酷,但是对服务调用有约束力,服务也不应该回调活动。那么哪种方式更好。使用AsyncTask与服务进行异步工作的标准是什么?也有requestForResult()选项太...在使用异步任务的活动中完成任务呼叫服务

回答

3

的规定 - 基本上,

  1. 你需要经常更新一些数据或继续某些任务(Android为音乐播放器的一个示例,其中即使没有活动可见,音乐也会继续),即使应用程序活动不再运行?在这里使用服务。

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

  3. 你有没有涉及IPC的情况?使用服务。

  4. 你有没有这样的情况,你需要做的就是做一个繁重的工作,比如下载数据,一些踢屁股算法需要时间?在后台线程中执行所有繁重任务,并在完成后更新UI。使用AsyncTask。

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

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

我相信还有更多的标准,但这些只是一些刚刚找到我。