gpt4 book ai didi

安卓服务: bind or start?

转载 作者:IT老高 更新时间:2023-10-28 23:12:05 25 4
gpt4 key购买 nike

什么情况下应该启动Service,什么情况下绑定(bind)Service?例如 - 音乐服务的 android 客户端?系统的优先级是否有任何差异;是否有共同的规则;还有什么?

最佳答案

startService() 用于在您启动后将独立运行的服务。音乐播放器就是一个很好的例子。它们会一直运行,直到它们调用 stopSelf() 或有人调用 stopService()

您可以通过来回发送 Intent 与正在运行的服务进行通信,但在大多数情况下,您只需启动该服务并让它自行运行。

当服务和客户端将通过持久连接来回通信时,使用 bind()。一个很好的例子是导航服务,它将位置更新传输回客户端。 Binder 比 Intent 更难编写,但它们确实是这个用例的必经之路。

关于优先级:当一个进程的所有 Activity 都失去可见性时,如果该进程托管了一个使用 onStart() 启动的服务,则该进程将成为一个服务进​​程,否则它变成一个后台进程。服务进程的优先级高于后台进程。更多详情请访问 android developer site .

如果没有可见 Activity 的服务进程需要更高的优先级(例如,音乐播放器确实不应该被中断),服务可以调用 startForeground()

关于安卓服务: bind or start?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13713161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com