Android服务的两种启动⽅式
前⾔:Service是Android的四⼤组件之⼀,也是可执⾏的程序。服务是Android中实现程序后台运⾏的解决⽅案,⾮常前⾔:
适合去执⾏那些不需要和⽤户交互⽽且还要求长期运⾏的任务。Service的启动⽅式有两种,总结⼀下两种⽅式的区别。⼀、Service的第⼀种启动⽅式
采⽤start的⽅式开启服务
服务的基本⽤法:
1.创建⼀个类继承Service,说明这是⼀个服务。
2.在l中注册,每⼀个service都需要注册才能⽣效,在Android Studio中会默认注册。
3.使⽤Context的startService(Intent)⽅法启动Service。
4.使⽤stopService(Intent)来停⽌服务。
⽣命周期如下:onCreate()--->onStartCommand() ---> onDestory() 。onCreate()在服务被创建说明
说明:使⽤这种start⽅式启动的Service的⽣命周期
时会被执⾏⼀次,⽽onStartCommand()时每次启动服务的时候都会执⾏,服务停⽌的时候,会调⽤onDestroy()。
特点:虽然服务是在活动中启动的,但是在服务启动之后,活动基本与服务之间没有什么关系。服务在启动之后执⾏onStartCommand() ,会特点:
⼀直处于运⾏状态,活动控制不了。onBind()⽅法可以使活动与服务之间的关系更加紧密⼀些。
⼆、Service的第⼆种创建⽅式
采⽤bind的⽅式开启服务
使⽤Service的步骤:
1.创建⼀个类继承Service,说明这是⼀个服务。
2.在l中注册,每⼀个service都需要注册才能⽣效,在Android Studio中会默认注册。
3.使⽤Context的bindService(Intent, ServiceConnection, int)⽅法启动该Service
4.不再使⽤时,调⽤unbindService(ServiceConnection)⽅法停⽌该服务
使⽤这种start⽅式启动的Service的⽣命周期
⽣命周期如下:
onCreate()--->onBind()--->onunbind()--->onDestory()
注意:绑定服务不会调⽤onstart()或者onstartcommand()⽅法
注意
安卓intent用法
特点
特点:bind的⽅式开启服务,绑定服务,调⽤者挂了,服务也会跟着挂掉。
绑定者可以调⽤服务⾥⾯的⽅法。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。