何时绑定服务以及何时不绑定服务

And*_*her 3 service android

我一直在浏览Android文档,我很好奇.什么时候绑定服务而不绑定服务?它提供了哪些优点/限制?

Com*_*are 5

什么时候绑定服务而不绑定服务?

一个完整的答案需要在(:: ahem::)一本书中的几页.:-)

在处理配置更改(例如屏幕旋转)时,绑定到服务会带来挑战.因此,在其他条件相同的情况下,使用命令pattern(startService())使用绑定模式(bindService())进行节拍.

如果您希望服务在没有任何活动的情况下运行并且绑定到它,则必须使用命令模式.因此,音乐播放器,大型文件下载器或设置的cron作业AlarmManager都倾向于使用命令模式.

通过绑定,您可以访问更丰富的API,包括支持无法使用命令模式的数据类型(仅限于您可以使用的内容Bundle).

  • 但是我不明白..因为服务在主线程中运行,当你涉及到活动时,它们没有太大的用途.我的意思是......服务的整个目的不仅仅是一个"不露面"的活动,可以在用户玩另一个东西时继续运行吗?所以你基本上说活动和服务之间的绑定过程是一次性事件,一旦活动消失,另一个活动实例就无法重新绑定到服务.在哪种情况下我应该绑定它们呢?我不能在这些情况下从活动中解雇线程吗? (2认同)