Fragment面对手机配置信息更改问题

手机配置信息更改【如 屏幕方向,屏幕像素密度,屏幕尺寸,键盘类型,底座模式,以及语言等发生改变

会导致系统去寻找是否有最佳资源来适应新的配置信息,因此我们的activity会被销毁,然后再重建。

那么我activity里面已经加载好了的fragment包含了很对信息,不是也会随着activity销毁而销毁吗?

这里提供两个简单的方法来保证fragment不被销毁:

1)在fragment里加上 setRetaIninstance(true);


调用setRetainInstance(true)方法可以保留fragment。已保留的fragment不会随activity一起销毁。相反,它会一直保留,并在需要时原封不动地转给新的activity。

2)对于一些类似的类(如videoview),Android文档推荐activity自己处理设备配置变更。也就是说,无需销毁重建activity,就能直接调整自己的视图以适应新的屏幕尺寸。为了让activity能自己处理设备配置调整,可在manifest配置文件中做如下调整:


上面的android:configChanges属性表明,如果因键盘开或关,屏幕方向改变,屏幕大小改变而发生设备配置更改,那么activity应自己处理配置更改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值