关于Service深刻了解
来源:互联网 发布:tv霸网络电视 编辑:程序博客网 时间:2024/05/16 17:11
过去对Service并不是很了解 所以在使用的时候出现很多让人啼笑皆非的错误...
今天趁着空闲之余重新将service再次研究
Service的生命周期
要开启Service 第一步必须是创建Service 很显然 就是Service的onCreate()方法
第二步就应该是Service的onStart()方法 但是现在用不onStart()方法 改为onStartCommand()方法
其实onStartCommand()方法中也同时调用了onStart()方法
最后就到了Service的onDestroy()方法
在我理解中 Service大致的生命周期就是这样
Service的onBind()方法
每当我继承Service就发现要重写Service中的onBind()方法
原来我并不懂onBind()方法的用法
今天学习之后 才恍然大悟
onBind()方法其实就是用于和Activity建立连接关系的
通过ServiceConnection类获取Service中的onBind()方法的返回值
达到与Activity建立连接的目的
所以一个比较标准的Service就这么写:
@Overridepublic int onStartCommand(Intent intent, int flags, int startId) {new Thread(new Runnable() {@Overridepublic void run() {// 开始执行后台任务}}).start();return super.onStartCommand(intent, flags, startId);}class MyBinder extends Binder {public void startDownload() {new Thread(new Runnable() {@Overridepublic void run() {// 执行具体的下载任务}}).start();}}
最后提及下 Service和Activity一样都是运行在主线程里的
所以千万别再Service里直接写耗时操作 这就是我原来犯过的错误
0 0
- 关于Service深刻了解
- 关于用PB必须深刻了解的内容!
- 深刻了解OPENCV
- 深刻了解OPENCV
- 深刻了解OPENCV
- 让我们深刻的来了解并查集吧
- 关于接口的深刻理解
- 关于盲打的深刻体会
- 初步了解Web Service
- Service初步了解
- Service生命周期初步了解
- Service基础概念了解
- Service的肤浅了解
- 了解Web Service
- web service简单了解
- 想要Java面试过关,不能不深刻了解String类
- 深刻了解jQuery对象和普通DOM对象的区别
- 关于WM_ERASEBKGND和WM_PAINT的深刻理解
- UVA 10474Where is the Marble?(n在排完序队列的第几个位置)
- JAVA可视化界面开发插件Matisse
- 基于Matlab中FDATool工具箱的滤波器设计及相关文件的生成
- 系统调用open()为什么有O_APPEND,O_CREAT选项
- 基于CXF的WebService实例
- 关于Service深刻了解
- The user specified as a definer ('XXXXX'@'%') does not exist
- 撒的发生的广东省房的所发生的
- 学习小结
- 解决LR无法启动IE以及WIN7/WIN8无法运行场景
- Cocos2d-x 屏幕适配新解
- Hdu4920Matrix multiplication(矩阵乘法)
- selenium常用命令
- 首届云端KUMO音乐节,这个夏末天津倾情开唱!