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

简介: remove():从Activity中移除一个Fragment,如果被移除的Fragment没有添加到回退栈(回退栈后面会详细说),这个Fragment实例将会被销毁;detach():会将view从UI中移除,和remove()不同,此时fragment的状态依然由FragmentManager维护。

remove():

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

detach():

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

 

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

 

相关文章
|
6月前
|
JavaScript
jQuery的empty、remove、detach区别
jQuery的empty、remove、detach区别
|
11月前
|
JavaScript 前端开发
关于 this 指向、如何实现 new call apply bind 我所知道的
关于 this 指向、如何实现 new call apply bind 我所知道的
59 0
List的remove操作一定要小心!
List的remove操作一定要小心!
|
Java Python
Python:对象的生命周期new-init-call-del
Python:对象的生命周期new-init-call-del
55 0
|
存储 Java 程序员
foreach中不允许对元素进行add和remove底层原理
foreach中不允许对元素进行add和remove底层原理 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者微信公众号:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝
95 0
foreach中不允许对元素进行add和remove底层原理
|
物联网 Linux 开发者
Remove 函数|学习笔记
快速学习 Remove 函数
367 0
|
Java
Foreach循环中为什么不要进行remove/add操作
Foreach循环中为什么不要进行remove/add操作
85 0
List的Clear方法与RemoveAll方法用法小结
List的Clear方法与RemoveAll方法用法小结http://www.bieryun.com/1055.html 示例代码 [csharp] view plain copy using System; using System.
2320 0