FragmentTransation中的remove和detach有什么区别?

remove():

从Activity中移除一个Fragment,如果被移除的Fragment没有添加到回退栈(回退栈后面会详细说),这个Fragment实例将会被销毁;

detach():

会将view从UI中移除,和remove()不同,此时fragment的状态依然由FragmentManager维护。

 

remove和detach有一点细微的区别,在不考虑回退栈的情况下,remove会销毁整个Fragment实例,而detach则只是销毁其视图结构,实例并不会被销毁。那么二者怎么取舍使用呢?如果你的当前Activity一直存在,那么在不希望保留用户操作的时候,你可以优先使用detach。

 

上一篇:python将json格式的数据转换成文本格式的数据或sql文件


下一篇:颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别?计算机颜色格式( 8位 16位 24位 32位色)【转】