位置: 编程技术 - 正文

Android---43---Service之IntentService

编辑:rootadmin
&#;&#;

推荐整理分享Android---43---Service之IntentService,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

首先说一下Service本身存在的两个问题:

1.Service不会专门启动一条新的线程,Service与它所在应用位于同一个进程中。

2.Service也不是专门一条新的线程,所以不应该在Service中处理耗时的任务。

IntentService正好弥补了这两个不足:

IntentService可以处理异步请求的Service。

IntentService将会使用队列来管理请求Intent,每当客户端代码通过Intent请求启动IntentService时,IntentService会将该Intent加入到队列中,然后开启一条新的worker线程来处理该Intent。在完成的时候会自动停止,不用手动去停止它。

IntentService的特点:IntentService会创建单独的worker线程来处理所有的Intent请求IntentService会创建单独的worker线程来处理onHandleIntent方法实现的代码,因此开发者不需要处理多线程问题当所有的请求处理完成后,IntentService会自动停止,无需调用stopSelf方法来停止该Service为Service的onBind方法提供了默认实现,默认该方法返回null为Service的onStartCommand方法提供了默认实现,该实现会将Intent添加到队列中。

所以在继承IntentService时,不需要onBind onStartCommand 方法,只要实现onHandleIntent方法即可

Android---43---Service之IntentService

上面Activity的两个时间处理方法中分别启动MyService与MyIntentService。

MyService.java:

MyIntentService.java:

Android SDK下载和更新失败的解决方法!!! 最近刚换了电脑,开始搭建Android开发环境的时候,下载SDK总是会出现如下错误:

Android------使用AIDL Service 实现跨进程调用Service 为了实现跨进程通信(interprocesscommunication简称IPC),Android提供了AIDLService。AIDL是一种IDL语言,用于生成可以在Android设备上两个进程之间进行通信的代码如

Android 子线程 更新 UI 界面 总结 packagecom.jrhcode.morethreadtest;importjava.util.concurrent.Executors;importandroid.os.AsyncTask;importandroid.os.Bundle;importandroid.os.Handler;importandroid.app.Activity;importandroid.view.Menu;im

本文链接地址:https://www.jiuchutong.com/biancheng/383315.html 转载请保留说明!

上一篇:Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息)(android.net.wifi)

下一篇:Android SDK下载和更新失败的解决方法!!!(sdk和安卓版本)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络