问题
Android用户可以通过下拉通知栏快捷操作,方便的切换深色模式和关闭深色模式。 如果App在后台,打开或者关闭深色模式,重新打开app到前台,会看到页面有一个明显的闪动,看一下生命周期,发现页面被重建了。
解决方式
如果不需要重建,则需要在Manifest对应的activity中增加声明:
android:configChanges="uiMode"
代表activity不需要强制开启和关闭深色模式,而是会在onConfigurationChanged中自己处理。 重试后,不会再出现页面被重建的问题