Android 学习笔记(十):Service的生命周期与实现方式

startService的生命周期以及实现方式

[外链图片转存失败(img-QKcIG2EQ-1565706668816)(en-resource://database/395:1)]

可以通过一个简单的音乐播放器来测试startService的生命周期
  1. MainActivity中放三个按钮,分别代表播放,暂停,停止
    [外链图片转存失败(img-PQi9FGAn-1565706668819)(en-resource://database/396:1)]
    将这三个按钮分别绑定监听器,播放按钮监听器中开启服务并播放歌曲,停止按钮停止服务并停止播放,暂停按钮暂停播放。
  • 播放事件中使用startService(Intent intent)方法开启服务,停止事件中会调用服务中stopSelf(int startId)结束服务。
  1. 自定义MyService,继承自Service,然后分别重写onCreate(),onStartCommand(),onDestory(),onBind()方法,然后在方法中进行相关操作,并记录日志。其中onStartCommand()在服务被调用时会被执行,故在此方法进行操作。
  2. 最后在AndroidManifest.xml中注册该Service。label标签给该service取个名字便于区分
<service
    android:name=".MyService"
    android:label="@string/service_test_worktwo">
</service>
开始测试
  1. 点击播放音乐,观察日志,发现进入了onCreate()onStartCommand()状态,开始播放音乐,服务被开启,点击多次时,只调用onStartCommand()方法,onCreate()方法只有第一次会被调用。
  2. 点击暂停播放,然后再点播放音乐,观察日志,发现只从onStartCommand()进入,说明只有第一次打开应用时才走onCreate()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值