我已经实现了一个Fragment并覆盖其生命周期回调,如下所示:
@Override
public void onActivityCreated(final Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
dactivity = getActivity();
dactivity.bindService(new Intent(dactivity,EventosDatabaseService.class), this, 0);
}
@Override
public void onDestroy() {
super.onDestroy();
dactivity.unbindService(this);
}
据记载,onActivityCreated调用必须在onDestroy之前重新启动,那么为什么抛出NullPointerException因为onDestroy上的dactivity为null?我应该怎么做才能避免它,同时确保绑定不会产生泄漏?
顺便说一下,如果这个片段,这个片段的RetainInstance是错误的答案 0 :(得分:1)
尝试在Fragment.onResume
中绑定您的服务并注册广播侦听器(如果可用),并使用Fragment.onPause
取消绑定服务并取消注册侦听器
答案 1 :(得分:1)
我希望我发布的图片可以更好地理解fragments
如何工作。