如果客户端进程被android杀死,我们会泄漏android服务连接吗?

发布于 2024-12-07 11:42:46 字数 681 浏览 0 评论 0原文

条件: 我有一个远程服务(使用 AIDL)的客户端活动“X”,它调用 onCreate()unbindService() 中的 bindService() onDestroy() 中的 code>。假设此 Activity 已启动但不在前台(已发生 onStop())。

据说,当android系统在其他地方需要更多内存时,它可能会杀死另一个优先级较低的活动(可能是“X”)的进程。

如果说,Android 系统决定杀死“X”的进程,根据活动生命周期图,如果在需要更多内存时杀死该进程,则不会调用 onDestroy()http://developer.android.com/guide/topics/fundamentals/activities.html

问题: 这会导致服务连接泄漏吗?那么在 onStart()onStop() 中绑定和取消绑定服务更安全吗?

提前致谢!

Condition:
I have a client activity "X" of a remote service (with AIDL) that calls the bindService() in the onCreate() and unbindService() in the onDestroy(). Assume that this activity has been started but not in the foreground (onStop() has happened).

It is said that when android system needs more memory elsewhere it might kill the process of another activity with less priority (possibly "X").

If, says, the android system decides to kill "X"'s process, according to the activity-lifecycle diagram the onDestroy() will not be called if the process is killed when more memory is needed.
http://developer.android.com/guide/topics/fundamentals/activities.html

Question:
Will this cause it to leak the service connection? Is it safer then to bind and unbind service in onStart() and onStop()?

Thanks in advance!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

镜花水月 2024-12-14 11:42:46

问题:这会导致服务连接泄漏吗?

ServiceConnection 对象将位于“X”进程中,因此当该进程终止时该对象将消失。

Question: Will this cause it to leak the service connection?

The ServiceConnection object would be in the process of "X" and therefore will go away when that process is terminated.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文