paw*_*gio 10 service android android-fragments android-fragmentactivity
绑定服务是否更好FragmentActivity:
bindService(Intent, ServiceConnection, int);
Run Code Online (Sandbox Code Playgroud)
或者Fragment:
getActivity().bindService(Intent, ServiceConnection, int);
Run Code Online (Sandbox Code Playgroud)
什么是更好的做法?
Com*_*are 38
将服务绑定到FragmentActivity ...或Fragment是否更好?
它们和你在这里写的一样.getActivity()不是Fragment- 它是一个返回的方法Activity.你不能打电话bindService()给Fragment.
什么是更好的做法?
都不是.绑定到Application对象,通过获得getApplicationContext()与ServiceConnection由(或者实际上设法为)一个保留Fragment.
原因是配置更改.绑定是状态.您需要跨配置更改维护该状态.虽然保留Fragment可以保留ServiceConnection,但是在系统ServiceConnection和Context注册它之间的系统之间存在隐式联系以进行绑定.由于可以在配置更改时销毁和重新创建活动,因此Activity这不是一个好的选择Context.Application系统全球性,是一个更安全的选择,并且选择Application另一个的少数几个地方之一Context是明智之举恕我直言.
这是我的博客文章,从碎片之前的时间开始,进入这一点.这是一个展示该技术的示例项目.
| 归档时间: |
|
| 查看次数: |
15104 次 |
| 最近记录: |