gpt4 book ai didi

android - 使用异步任务与使用异步任务在 Activity 中完成任务调用服务

转载 作者:搜寻专家 更新时间:2023-11-01 09:08:24 25 4
gpt4 key购买 nike

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

最佳答案

基本的标准是,

  1. 即使您的应用程序 Activity 不再运行,您是否需要定期更新某些数据或继续执行某些任务(android 提供了一个音乐播放器示例,即使没有 Activity 可见,音乐也会继续播放)?在此处使用服务。

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

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

  4. 您是否遇到过这样的情况,您需要做的只是完成繁重的任务,例如下载数据,一些非常耗时的算法?在后台线程中执行所有繁重的任务,并在完成后更新 UI。使用 AsyncTask。

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

另一方面,服务用于执行即使您的应用未运行也需要运行的任务,其他应用需要绑定(bind)以更新数据,您需要在显示 Activity 之前更新数据。

我相信还有更多的标准,但这些只是我刚刚想到的几个。

关于android - 使用异步任务与使用异步任务在 Activity 中完成任务调用服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10134751/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com