关于Fragment的状态

一般来说调用Activity的finish方法后,确实fragment是被销毁了

但是如果是更改了语言或者是屏幕旋转等配置信息后,fragment此时虽然也是走了onDestory方法,但是其实还走了onSaveInstanceState()方法,此时这个fragment的实例其实保存在内存中,这个时候你再进入页面发现fragment会被初始化两次,尽管你只是调用了一次commit方法,因为acitivity会把上一次的fragment也关联上,这样你就有两次的fragment初始化,此时你就需要额外做一些处理。

另外fragment嵌套fragment其实原理也是一样的,需要额外做处理。当然和这里的activity的处理方式一致

大致如图哈,可以自己写demo验证下

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容