2013-03-21 203 views
3

我已经以编程方式添加这是对活动的的onCreate()创建调用这样的片段:我是否需要删除程序添加片段

mFragment = (MyFragment) pFm.findFragmentByTag(TAG); 

    if (mFragment == null) {   
     mFragment = MyFragment.newInstance(); 
     pFm.beginTransaction().add(mFragment, MyFragment.class.getSimpleName()).commit(); 
    } 

片段的寿命是不确定的。问题是,我是否必须在某些时候删除它?例如,在onDestroy(),如果isFinishing()返回true

+0

为什么你想删除它.​​.....? – Developer 2013-03-21 13:03:41

+0

我的直觉告诉我add()调用通常应该有相应的remove()调用。但是,这似乎并非如此。 – lstipakov 2013-03-21 13:07:28

+1

@Stipa当然有一个删除被称为某处某处。但是,如果您不需要由于某种原因明确调用它(而不是替换()),那么系统会为您处理。 – Shade 2013-03-21 13:12:58

回答

1

不,你不需要。以编程方式添加片段不会使该片段与通过使用XML中的<fragment>标记添加的片段不同。片段的lifecycle methods将以与调用活动的生命周期方法几乎相同的方式进行调用。他们将在应用程序退出时处理碎片。

相关问题