Android 绑定服务与 AsyncTask
我的活动中有很多异步任务,并且我需要为每个调用重写 AsyncTask 以使其异步。
我可以用 BoundService + AIDL 替换所有 AsyncTasks 还是只需要使用 AsyncTask 来完成?
I have a lot of async tasks in my activity, and I need to override AsyncTask for every call to do it async.
Can I replace all the AsyncTasks with BoundService + AIDL or I need to do it only with AsyncTask?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
服务在后台运行但仍在主线程(又名 UI 线程)中运行,您将收到 ANR 异常。根据 API 此处:
关于 Service 类的大多数困惑实际上围绕着什么它不是:
您可以使用服务,但如果您希望某些内容在单独的线程中运行,您仍然需要在服务或活动中实现线程逻辑。
Service run in background but still run in main thread (AKA. UI thread), you will get ANR exception. according to API here:
Most confusion about the Service class actually revolves around what it is not:
You can use service, but you still need implement your thread logic in either service or activity,if you want something run in a separate thread.
Service是守护进程,AsynkTask是后台线程
Service is a daemon, AsynkTask is background thread