Androidmanifest里Activity配置中android:configChanges属性的使用

869 阅读1分钟

Android:configChanges

当我们系统配置发生改变时会导致Activity的重建,我们一般可以通过Android : configChanges进行相应属性的创建,可以在系统配置发生改变的时候进行重建;

未指定configChanges会发生什么

当我们未指定该属性的时候,当系统配置发生改变会导致activity重建

2018022210514331.png onSaveinstanceState方法会在onstop之前进行调用,用于保存异常销毁Activity的相关信息 在创建之后在onstart之后回调onRestoreinstancestate恢复信息

使用android:configChanges属性后,程序运行时如果配置发生变化时,不会重新启动activity即不会走2的流程,而是通知程序去调用onConfigurationChanged函数。例如:在横竖屏发生变化时,原来会重新启动activity,而定义了这个属性后,就不会重新启动activity了,而是调用onConfigrationChanged函数

image.png

如何配置Android:configChanges

<activity
    android:name="com.mining.cloud.activity.ActivityXXX"
    android:configChanges="orientation|keyboardHidden|screenSize"/>