Startservice的生命周期

本文详细介绍了Android中启动模式Service的生命周期,包括onCreate、onStartCommand和onDestroy等方法的作用及调用时机,并解析了onStartCommand方法的返回值含义及其应用场景。
摘要由CSDN通过智能技术生成
对于service大体上有三种
1)启动模式的Service
2)绑定模式的Service
3)混合模式的Service

===============================

今天对于1)启动模式的Service的生命周期中各个方法做一个简单的概述:

1)onCreate (service创建时执行)在一个service中只会执行一次
2)onStartCommand(每次启动都会执行):可以执行N次,在service中被暂停回来,就会再次执行
3)onDestory(service销毁时会执行):只会执行一次

note:在onStartCommand(Intent intent, int flags, int startId)
有几个参数需要注意

1)intent:用来传递信息,intent.getXXXXExtra(" aciton")(类似于Map)-->为key

2)startId:每次启动或startId是不一样的,用来区别service

3)对于onStartCommand()是需要返回值的

            1)START_REDELIVER_INTENT:被非正常kill以后,还会自启,同时会重新传递intent

             2)START_STICKY_COMPATIBILITY:service被非正常kill以后,不保证service一定能够启动

            3) START_STICKY:service被非正常kill,它还会自动启动,但是不会重新传递intent

             4)START_NOT_STICKY:service被非正常kill,它不会自动启动

大体上有这几种,但是一般在app的开发中如果一个service是执行一个耗时操作,同时被非正常kill

就可以利用START_REDELIVER_INTENT做为返回值,这样就可以调高app的健壮性。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值