Android服务:Activity生命尽头会发生什么?

Android服务:Activity生命尽头会发生什么?,第1张

概述假设活动A启动服务S并绑定到服务S.>当A被破坏时,S会发生什么?>如何重新创建绑定到S的另一个Activity?http://developer.android.com/guide/components/bound-services.html中的示例代码取消了onStop()中的服务绑定.我想如果再次打开该应用程序,则会为A和S的另一个实例创建一个新进

假设活动A启动服务S并绑定到服务S.

>当A被破坏时,S会发生什么?
>如何重新创建绑定到S的另一个Activity? http://developer.android.com/guide/components/bound-services.html中的示例代码取消了onStop()中的服务绑定.我想如果再次打开该应用程序,则会为A和S的另一个实例创建一个新进程.但是我希望新活动能够从旧服务中获取数据.

解决方法:

What will happen to S when A is destroyed?

如果A是绑定到S的唯一活动,并且您没有通过startService(Intent)启动服务,则S将被销毁.这是因为在最后绑定的活动从服务取消绑定之前,服务将一直存在.文档记录为here.

How can I recreate another Activity that binds to S?

如果绑定了A,并且您通过Intent切换到活动B,则当B绑定到服务时,该服务将被销毁并重新创建.

如果您希望该服务在没有活动绑定的情况下仍然有效,则必须使用startService(Intent)调用ServIE.现在,如果您明确将其停止,或者系统意味着是时候将其销毁,那么它就会出现.如果您不希望出现这种情况,请保留您的数据并在给定的时间访问它.

I think if I open the app again, a new process is created for another instance of A and S

在从系统中终止该进程之前,或者如果您终止该进程(不建议这样做),则该进程保持不变.

编辑:

只有绑定的服务生命周期取决于“活动”.如果要独立使用,请使用startService().这样,只要应用程序启动,或者您通过stopService()/ stopSelf()显式停止服务,它就独立于Activity并在后台运行.您甚至可以在自己的应用程序中拥有服务,并使用IPC在应用程序之间进行通信.这完全取决于用例.

如您所见,服务的配置非常灵活,您必须确定最适合您的应用程序的配置.

总结

以上是内存溢出为你收集整理的Android服务:Activity生命尽头会发生什么?全部内容,希望文章能够帮你解决Android服务:Activity生命尽头会发生什么?所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1087470.html

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

发表评论

登录后才能评论

评论列表(0条)

保存