Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了绑定vs在android中启动服务的优缺点大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
是的,我知道这是重复的: Android Service : bind or start?.但正如我在那里评论的那样,给出的答案是有问题的.

Google Dev Tutorial中,建议绑定为…适用于需要将活动绑定到其后台播放音乐的服务的音乐应用程序.然我刚刚链接的SO答案说这是我需要启动而不是绑定的服务.

现在,我理解了导航应用程序的论点,但很明显,音乐流媒体等的得分并未得到解决.有人请澄清一点吗?

我可以无休止地结合并无休止地开始的事实表明这两种方法存在是有原因的.更具针对性的是,为什么音乐流媒体也是一个很好的例子呢?

我的主要问题是:绑定与启动有什么优缺点?换句话说:比较和对比bindservice和startservice.

抱歉重复,但我想尽可能完全捕捉到这一点,所以我可能得到非常好的答案.

解决方法

至于我的工作和阅读有关bindservice和startservice的内容我正在解释以下内容.

首先,他们两个有不同的生命周期.

bindservice(mIntent,mConnection,BIND_AUTO_create);

如果您只使用带有BIND_AUTO_CREATE标志的bindservice来创建服务并绑定,它将为您创建一个服务并将其绑定到您.取消绑定后,服务生命将停止.即.最有可能在主要过程的onStop阶段.因此,如果只在需要时使用bindservice并在不需要时关闭,则可以使用bindservice创建和绑定服务.就像你提到的导航应用程序一样.这不会遵循onCreate>的常规service lifeCycle. onStartCommand

startservice(mIntent);
bindservice(mIntent,0);

如果你想要运行服务,即使你从Activity中运行,那么你必须使用startActivity,你可以使用带有0或BIND_ABOVE_CLIENT标志的bindservice绑定它(意味着,服务比正在运行的客户端活动更重要).现在您可以绑定到服务并取消绑定任意数量的时间,但服务将继续运行(直到您终止它).这是关于onCreate> onStartCommand

您对音乐应用程序的困惑基本上与使用应用程序有关:在Google Dev中,他们可能已经注意到在关闭您的活动时音乐停止并退出应用程序(如YoutubE). [绑定和解除绑定就足够了]

SO可能已经注意到音乐应该在即将停止播放后继续播放(如Google Play音乐). [为此你必须启动一项服务并永远运行它].您可以通过在需要时停止调用this.stopSelf()或从活动中停止服务来停止服务.

所以你不能说bindservice比起始服务更好.

使用bindservice创建的服务在停止活动后将不会运行.

大佬总结

以上是大佬教程为你收集整理的绑定vs在android中启动服务的优缺点全部内容,希望文章能够帮你解决绑定vs在android中启动服务的优缺点所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。