通过以下两种方式启动服务:
如果打算采用Context.startService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onStart()方法。如果调用startService()方法前服务已经被创建,多次调用startService()方法并不会导致多次创建服务,但会导致多次调用onStart()方法。采用startService()方法启动的服务,只能调用Context.stopService()方法结束服务,服务结束时会调用onDestroy()方法。
如果打算采用Context.bindService()方法启动服务,在服务未被创建时,系统会先调用服务的onCreate()方法,接着调用onBind()方法。这个时候调用者和服务绑定在一起,调用者退出了,系统就会先调用服务的onUnbind()方法,接着调用onDestroy()方法。如果调用bindService()方法前服务已经被绑定,多次调用bindService()方法并不会导致多次创建服务及绑定(也就是说onCreate()和onBind()方法并不会被多次调用)。如果调用者希望与正在绑定的服务解除绑定,可以调用unbindService()方法,调用该方法也会导致系统调用服务的onUnbind()-->onDestroy()方法。
分享到:
相关推荐
Activity和Service生命周期及使用AIDL通信
安卓Service生命周期,一个小Demo,方便了解。
Android说明Service生命周期的代码例子。用于演示Service组件从创建到销毁的完整生命周期,以及IntentService的使用例子。
NULL 博文链接:https://cdxs2.iteye.com/blog/1941613
android项目教程Service生命周期.pptx
Service概念及用途: Android中的服务,它与Activity不同,它是不能与用户交互的,不能自己启动的,运行在后台的程序,如果我们退出应用时,Service进程并没有结束,它仍然在后台运行,那...Service生命周期 : Android
AndroidService生命周期及用法[收集].pdf
Android中演示Service生命周期的代码清单.pdf 学习资料 复习资料 教学资源
Android中Service生命周期演示案例的任务要求.pdf 学习资料 复习资料 教学资源
非常简单明了的 android java 层的 service分析。
组件生命周期将讨论活动、服务、广播接收者的生命周期——包括在生命周期中他们可能的状态、通知状态改变 的方法、及这些状态的组件寄宿的进程被终结和实例被销毁的可能性。 上篇Android开发之旅:组件生命周期(一...
startService启动方式,只在activity中启动和销毁,和activity关系不大,即使antivity退出,服务任然运行,比如后台放音乐,对应生命周期: bindService启动方式,和activity绑定后,和activity共存亡,activity...
一个小demo,通过求平均值,测试service的生命周期以及启动方式!
android Service的生命周期 bind以及startService两种方式 对应的生命周期
项目视频介绍#标题视频地址1服务的生命周期视频12服务的生命周期视频23Android Service全面认识三
Service的生命周期、两种启动方法的区别 一、A started service onCreate, onStartCommand, onBind 和 onDestroy。这几个方法都是回调方法,都是由Android操作系统在合适的时机调用的,并且需要注意的是这几个回调...
Android Service类与生命周期 Service是Android四大组件与Activity最相似的组件,都代表可执行的程序,区别在于Service一直在后台运行且没有用户界面。 1.Service的类图和生命周期 先来看看Service的类图: 接...