片段生命周期问题

时间:2014-05-05 14:14:25

标签: android fragment

我已经实现了一个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是错误的

2 个答案:

答案 0 :(得分:1)

尝试在Fragment.onResume中绑定您的服务并注册广播侦听器(如果可用),并使用Fragment.onPause取消绑定服务并取消注册侦听器

答案 1 :(得分:1)

我希望我发布的图片可以更好地理解fragments如何工作。 enter image description here