gpt4 book ai didi

android - 使用 Activity 生命周期方法,绑定(bind)和解除绑定(bind)到本地服务的最佳策略是什么?

转载 作者:行者123 更新时间:2023-11-30 04:50:12 25 4
gpt4 key购买 nike

我从多个 Activity 绑定(bind)到本地 Service(即,不使用 IPC 和 AIDL)。我想确保我没有从用户未使用的 Activity 中保留对该服务的引用。

我的选择是:1.) 在 onCreate() 中绑定(bind)到服务并在 onDestroy() 中解除绑定(bind)。2.) 在onStart() 中绑定(bind),在onStop() 中解除绑定(bind)。3.) 在 onResume() 中绑定(bind),在 ``onPause()` 中解除绑定(bind)。或者这些的一些组合。

绑定(bind)和解除绑定(bind)到本地服务的最佳实践方法是什么?我不需要关心从停止的 Activity 中保持本地连接吗?

此外,一旦绑定(bind)到此特定服务,我将检索一个 Cursor,它通过 CursorAdapter 附加到我的 ListActivity。当 Activity 不在 View 中时,Cursor 检索的数据可能已更改,因此我想在 Activity 再次显示时重新查询它。如果我在 onCreate() 中绑定(bind),我可以在 onRestart() 中重新查询。如果我每次都在 onResume() 中绑定(bind)数据,因为我将在服务的连接回调中查询它。

想法、评论、批评或建议?

最佳答案

这取决于服务是通过绑定(bind)到它启动的,还是通过调用 startService() 启动的。如果是 startService(),绑定(bind)/解除绑定(bind)的位置/时间几乎没有区别。

如果它是通过绑定(bind)到它开始的,我们不能在不知 Prop 体细节的情况下回答这个问题。

看起来您的服务将一直运行(即由 startService() 启动),因此您在何处绑定(bind)/取消绑定(bind)似乎无关紧要。只需选择最合乎逻辑的位置即可。

关于android - 使用 Activity 生命周期方法,绑定(bind)和解除绑定(bind)到本地服务的最佳策略是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3719607/

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