Activity重建时,上一次的fragment去哪了

Activity重建时,上一次的fragment去哪了

当我们的HomeActivity被重建时、也会重新创建所有tab对应的fragment、但是activity被回收前的fragment并没有一起被回收、这也是fragment重叠的原因。


课程中我们在onSaveInstanceState中也只是保留了当前选择的index、然后重建时把新建的fragment设置选中项、也就是说我们每次activity重建都会新建五个fragment、那么那些之前的fragment去哪里了呢、我看到他们的持有关系是这样的:activity持有logic持有infoList持有fragment。


so,之前的fragment都去哪里了,由谁持有,会造成内存泄漏吗,会被谁回收吗?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
chinaColby 2023-03-27 17:55:54

跟我想一块去了,毕竟只是保存了下标,Fragment的还是一直存在

CrazyCodeBoy 2021-01-19 22:02:56

在新的Fragment创建的时候,老的Fragmen会失去引用,没有引用的Fragment会被垃圾回收器择时回收。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师