Activity重建时,上一次的fragment去哪了
当我们的HomeActivity被重建时、也会重新创建所有tab对应的fragment、但是activity被回收前的fragment并没有一起被回收、这也是fragment重叠的原因。
课程中我们在onSaveInstanceState中也只是保留了当前选择的index、然后重建时把新建的fragment设置选中项、也就是说我们每次activity重建都会新建五个fragment、那么那些之前的fragment去哪里了呢、我看到他们的持有关系是这样的:activity持有logic持有infoList持有fragment。
so,之前的fragment都去哪里了,由谁持有,会造成内存泄漏吗,会被谁回收吗?
24
收起
正在回答 回答被采纳积分+1
2回答
chinaColby
2023-03-27 17:55:54
跟我想一块去了,毕竟只是保存了下标,Fragment的还是一直存在
CrazyCodeBoy
2021-01-19 22:02:56
在新的Fragment创建的时候,老的Fragmen会失去引用,没有引用的Fragment会被垃圾回收器择时回收。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星