Android中Service的启动方式的区别和结合使用

本文详细阐述了Android中startService与bindService两种服务启动方式的区别。startService启动的服务可以在后台长时间运行,不受Activity生命周期的影响;bindService则允许服务与调用者进行交互,并在调用者销毁前需解除绑定。此外,还介绍了两者结合使用的场景,如音乐播放器应用中的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • startService和bindService的区别:
  • 1:startService启动的方法能够在后台长久的运行,不随Activity的销毁而退出。
  • bindService启动时,需要与调用者进行绑定(指Activity、Service、Content Provider,不能与BroadCast绑定),在调用者销毁前,需要进行解绑(unbindService())。
  • 2:startService启动的服务不能够与调用者进行交互。
  • bindService启动的服务能够与调用者进行交互。

startService和bindService结合在一起使用:
*
* 通过startService启动一个服务,在该服务中启动bindService。两者不断的交替。
* ps:在音乐播放器中,播放音乐是一个后台的服务,应当能够长久的在后台运行,所以需要使用startService()。
* 但是,当该应用退出时等到下一次进行时,应当能够获取到播放音乐的一些信息(如正在播放歌曲名、播放的进度等)。所以需要使用bindService()。
*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值