gpt4 book ai didi

android - 将服务绑定(bind)到 FragmentActivity 或 Fragment?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:52:45 27 4
gpt4 key购买 nike

将服务绑定(bind)到FragmentActivity是否更好:

bindService(Intent, ServiceConnection, int);

fragment :

getActivity().bindService(Intent, ServiceConnection, int);

什么是更好的做法?

最佳答案

Is it better to bind service to FragmentActivity... or to Fragment

它们与您在此处编写的相同。 getActivity()不是 Fragment -- 这是一个返回 Activity 的方法.你不能调用 bindService()Fragment 上.

What is better practice?

都没有。绑定(bind)到 Application对象,通过getApplicationContext()获得, 与 ServiceConnection由(或者实际上)保留的 Fragment 管理.

原因是配置更改。绑定(bind)是状态。您需要在配置更改时保持该状态。而一个保留Fragment可以坚持 ServiceConnectionServiceConnection 之间的系统中存在隐式关系和 Context为绑定(bind)注册它。由于可以在配置更改时销毁和重新创建 Activity ,Activity不是 Context 的好选择这里。 Application ,它是系统全局的,是一个更安全的选择,也是为数不多的选择 Application 的地方之一。在另一个Context恕我直言,这是明智之举。

Here is a blog post我的,从 fragment 之前的时间开始,更多地涉及到这一点。 Here is a sample project演示该技术。

关于android - 将服务绑定(bind)到 FragmentActivity 或 Fragment?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15235773/

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