首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android Widget:服务与异步任务

Android Widget:服务与异步任务
EN

Stack Overflow用户
提问于 2011-03-10 21:24:08
回答 3查看 2.9K关注 0票数 2

当涉及到小部件时,我们可以从服务中调用异步任务吗?

我目前有一个很小的应用程序,可以查找实时的体育比赛比分,并显示相同的结果。主类调用异步任务。异步任务调用2个过程。第一个解析XML文件并获得html链接的程序。第二个用于读取html文件。现在,我想将此应用程序转换为主屏幕小工具。

我可以从服务内部调用我的异步任务吗?有没有指向例子的建议?

请帮帮忙。

问候你,山姆

EN

回答 3

Stack Overflow用户

发布于 2011-03-10 21:43:06

您不需要在服务中创建AsyncTask。该服务已经在后台线程上运行,因此您可以在该服务中执行您在doInBackground中执行的任何密集任务。您应该仍然能够在服务中调用AsyncTask,但此时不需要使用AsyncTask。

Here是一个带有服务的小部件示例。

票数 4
EN

Stack Overflow用户

发布于 2011-03-10 21:42:26

如果原始活动和服务在同一个包中,或者其中一个适当地依赖于另一个,那么您可以毫无问题地调用相同的异步任务。只要异步任务是通用格式的,因此它将数据提供回调用它的任何东西(通过回调或处理程序),而不是总是将结果发布到应用程序的UI,就不会有重大问题。

票数 0
EN

Stack Overflow用户

发布于 2012-04-12 22:35:26

这里是基本的区别:

线程或异步任务在后台线程中执行它们的任务,因此它们不会阻塞主线程,而服务在主线程中执行它的工作。因此,如果服务正在执行密集型任务,例如调用web服务,它可能会阻塞主线程,直到它完成。因此,对于密集型任务,服务应该在后台线程中运行它的工作。

摘要,线程(异步任务)在后台执行任务(不阻塞主线程),服务可以阻塞主线程,直到它完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5260205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档