位置: 编程技术 - 正文
推荐整理分享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方法即可
上面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
标签: Android---43---Service之IntentService
本文链接地址:https://www.jiuchutong.com/biancheng/383315.html 转载请保留说明!上一篇:Android wifi属性简介 及 wifi信息获取(wifi列表、配置信息、热点信息)(android.net.wifi)
友情链接: 武汉网站建设