美文网首页Android开发碎碎片
Fragment面对手机配置信息更改问题

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

作者: 2fab4u | 来源:发表于2019-05-11 14:50 被阅读1次

    当手机配置信息更改【如 屏幕方向,屏幕像素密度,屏幕尺寸,键盘类型,底座模式,以及语言等发生改变】
    会导致系统去寻找是否有最佳资源来适应新的配置信息,因此我们的activity会被销毁,然后再重建。
    那么我activity里面已经加载好了的fragment包含了很对信息,不是也会随着activity销毁而销毁吗?
    这里提供两个简单的方法来保证fragment不被销毁:

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


    image.png

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

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


    image.png

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

    相关文章

      网友评论

        本文标题:Fragment面对手机配置信息更改问题

        本文链接:https://www.haomeiwen.com/subject/pspxaqtx.html