为了账号安全,请及时绑定邮箱和手机立即绑定

Android 有关于后台播放音乐的问题

Android 有关于后台播放音乐的问题

大话西游666 2019-03-14 09:15:23
最近在做一个音乐播发器,我把播放音乐这个功能写在一个服务里,再和播放的界面进行绑定,注意是BindService而不是StartService。当我播放界面finish()后并且按理说服务也自动销毁了,但是音乐仍在播放,我用的是MediaPlayer类播放的音乐,不知道为什么,求大神告知。
查看完整描述

3 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

finish前调用unBind了吗?


查看完整回答
反对 回复 2019-04-17
?
阿晨1998

TA贡献2037条经验 获得超6个赞

BindService只要还有一个activity与这个服务绑定在一起,就不会被销毁掉,必须等到所有activity都调用了unbound()才可能被销毁。

https://img1.sycdn.imooc.com//5cb68508000100ab05260567.jpg

Service的生命周期图

一个实战经验是,在activity的unBound()之前向Service发一条消息,告诉service这个activity要解绑了,这篇博文有一些源码和介绍Android BoundService 进程间通信

另外,Mediaplayer有没有在service 的onDestroy里调用release()。


查看完整回答
反对 回复 2019-04-17
?
jeck猫

TA贡献1909条经验 获得超7个赞

只有当前播放界面与之绑定,而mediaplayer没有在service里release掉。但按道理来说既然我activity被finish掉了,所绑定的服务也被销毁了,那么服务里的mediaplayer也应该被销毁啊。


查看完整回答
反对 回复 2019-04-17
  • 3 回答
  • 0 关注
  • 1005 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号