(常面试的面试题)Service的两种启动方式的区别?
2015-11-30 10:48
465 查看
Service有两种启动方式,主要是startService和bindService。Service的生命周期方式onCreate,onStart,onDestroy。而这两种启动方式对Service声明周期的影响是不一样的。
1、startService方式启动服务,调用者与服务之间没有关联,即使调用者退出了,服务正常的运行,多次调用startService()方法并不会创建多个服务, 但是onStart()方法会被多次调用。通过startService,Service会经历 onCreate -> onStart,stopService的时候直接onDestroy。
2、bindService方式启动服务,调用者与服务之间绑定在一起,即调用者退出了,服务也就停止了。通过bindService, Service会经历onCreate-onBind,这个时候服务的调用者胡服务绑定在一起。调用者退出了,Service就会调用onUnbind->onDestoryed,所谓绑定在一起就共存亡。
1、startService方式启动服务,调用者与服务之间没有关联,即使调用者退出了,服务正常的运行,多次调用startService()方法并不会创建多个服务, 但是onStart()方法会被多次调用。通过startService,Service会经历 onCreate -> onStart,stopService的时候直接onDestroy。
2、bindService方式启动服务,调用者与服务之间绑定在一起,即调用者退出了,服务也就停止了。通过bindService, Service会经历onCreate-onBind,这个时候服务的调用者胡服务绑定在一起。调用者退出了,Service就会调用onUnbind->onDestoryed,所谓绑定在一起就共存亡。
相关文章推荐
- 一个关于if else容易迷惑的问题
- 一道sql面试题附答案
- C# 超高面试题收集整理
- 人人网javascript面试题 可以提前实现下
- PHP中设置一个严格30分钟过期Session面试题的4种答案
- 据说是雅虎的一份PHP面试题附答案
- php牛逼的面试题分享
- 一套比较完整的javascript面试题(部分答案)
- 小米公司JavaScript面试题
- 超级全面的PHP面试题整理集合第1/2页
- 5个实用的shell脚本面试题和答案
- PHP经典面试题集锦
- 8个PHP数组面试题
- PHP中提问频率最高的11个面试题和答案
- 用PHP解决的一个栈的面试题
- PHP面试题之文件目录操作
- 几道坑人的PHP面试题 试试看看你会不会也中招
- 5个JavaScript经典面试题
- 一不小心就做错的JS闭包面试题
- Java高级面试题小结