Rumah > Soal Jawab > teks badan
最近在做一个音乐播发器,我把播放音乐这个功能写在一个服务里,再和播放的界面进行绑定,注意是BindService而不是StartService。当我播放界面finish()后并且按理说服务也自动销毁了,但是音乐仍在播放,我用的是MediaPlayer类播放的音乐,不知道为什么,求大神告知。
伊谢尔伦2017-04-17 17:38:33
BindService tidak akan dimusnahkan selagi terdapat aktiviti lain yang terikat pada perkhidmatan ini Ia mesti menunggu sehingga semua aktiviti dipanggil unbound()
sebelum ia boleh dimusnahkan.
Rajah kitaran hayat perkhidmatan
Pengalaman praktikal ialah menghantar mesej kepada Perkhidmatan sebelum aktiviti unBound() untuk memberitahu perkhidmatan bahawa aktiviti itu akan dilepaskan. Catatan blog ini mempunyai beberapa kod sumber dan pengenalan kepada komunikasi antara proses Android BoundService
Selain itu, adakah Mediaplayer call release() dalam onDestroy of service?
高洛峰2017-04-17 17:38:33
Hanya antara muka main balik semasa terikat padanya dan pemain media tidak dikeluarkan dalam perkhidmatan. Tetapi secara logiknya, kerana aktiviti saya telah selesai dan perkhidmatan terikat telah dimusnahkan, pemain media dalam perkhidmatan juga harus dimusnahkan.