gpt4 book ai didi

android - Intent 服务或服务

转载 作者:行者123 更新时间:2023-11-29 01:48:00 26 4
gpt4 key购买 nike

我已经创建了 Intent 服务。在这个服务中,我想从服务器获取数据,所以我在 Intent 服务中使用 AsyncTask,但它不起作用,因为 IntentService 在另一个线程(工作线程)中运行,而不是在主线程中运行,而 OnPreExecute()和 onPostExecute() 在主线程中运行。

然后我扩展服务类并在其中编写 AsyncTask。它工作正常,因为服务在主线程中运行,所以当我使用 onPreExecute() 和 onPostExcute() 时没有发现错误。

当我使用服务和 Intent 服务时?在我的情况下什么是合适的 Intent 服务或服务。

最佳答案

如您所说,Service 将在 UI 线程上运行。因此,如果您想驱逐一些后台处理(如网络请求),您可以使用服务并管理您自己的线程来完成后台作业。

这里不需要AsyncTask,使用普通线程即可。

但是使用 IntentService 会容易得多,因为正如您再次提到的,它们有自己的线程来执行后台工作。同样,不要在这里使用 AsyncTask,只需在 Intent 服务中执行查询即可。只有当您的请求被处理时, Intent 服务才应该终止。无事可做。

有些库可以帮助您实现这一目标,例如 RoboSpice .

关于android - Intent 服务或服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20220327/

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