为什么我们需要Android中的服务?音乐播放也可以通过后台线程完成

为什么我们需要Android中的服务?音乐播放也可以通过后台线程完成,第1张

概述采访中有人问我这个问题.我不确定这是否是问这个问题的合适论坛,因为它不涉及任何代码,而是对android概念的理解.问题是“当所有事情都可以通过Android中的后台线程完成时,为什么我们需要服务?”服务在主线程中运行,为什么我们需要在主线程中但在后台运行的东西?音乐播放之类的示例

采访中有人问我这个问题.我不确定这是否是问这个问题的合适论坛,因为它不涉及任何代码,而是对android概念的理解.

问题是“当所有事情都可以通过Android中的后台线程完成时,为什么我们需要服务?”
服务在主线程中运行,为什么我们需要在主线程中但在后台运行的东西?
音乐播放之类的示例也可以在后台线程中完成,因此我们为什么需要服务.

请让我知道是否应该在另一个论坛中询问.

解决方法:

服务:
服务就像活动.但不需要UI即可使用.而从活动创建线程时,线程将一直运行到活动存在为止.因此,如果您以线程方式播放音乐,它将开始运行.但活动结束时它将崩溃,而当您实现从服务播放音乐时,它将在服务的整个生命周期中运行.

请参阅我的答案boundservice,以在服务和活动之间进行通信.音乐播放器运行时,您必须在通知面板上维护通知.

更新

当您使用背景线程播放音乐时,即使关闭了背景线程的应用程序也将成为孤儿线程,音乐仍会播放.您无法控制音乐播放器的状态.而当您使用服务时,音乐会播放,并且在应用程序退出时不会成为孤儿院服务.重新创建应用程序时,您可以与音乐播放器进行通信,而后台线程则无法.

总结

以上是内存溢出为你收集整理的为什么我们需要Android中的服务?音乐播放也可以通过后台线程完成全部内容,希望文章能够帮你解决为什么我们需要Android中的服务?音乐播放也可以通过后台线程完成所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1091436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存