Android中服务(Service)的两种启动方式

     Service是安卓四大组件之一,也是可执行的程序,也又自己的生命周期。创建、配置service和创建、配置Activity相似。都是从context派生出来的。《疯狂android讲义(第二版)》

     一、Service的第一种启动方式:start方式

            步骤:

           1、定义一个类继承Service

           2、在Mainfest.xml中配置该Service

           3、使用Context中的startService(Intent)方法启动Service

           4、使用stopService(Intent)方法停止该服务

       此方式启动Service生命周期如下:

       onCreat()-->onStartCommand()-->onDestory()

       如果该服务已经开启,不在执行onCreat(),而是会调用onStart()和onStartCommand().。停止服务的时候使用onDestory(),服务会只被停止一次。

特点:一旦服务开启跟调用者(开启者)就没有任何关系了。开启者退出了,开启者挂了,服务还在后台长期的运行。开启者不能调用服务里面的方法。

    二、Service的第二种启动方式:bind方式

          步骤:

         1、定义一个类继承Service

         2、在Mainfest.xml中配置该Service

         3、使用Context中的bindService(Intent, ServiceConnection, int)方式启动该Service

4、使用UnbindService(ServiceConnection)停止服务

使用这种start方式启动的Service的生命周期如下:

onCreate() --->onBind()--->onunbind()--->onDestory()

绑定服务不会调用onstart()或者onstartcommand()方法

特点:bind的方式开启服务,绑定服务,调用者挂了,服务也会跟着挂掉。绑定者可以调用服务里面的方法。

 


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十一多一点。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值