当您在Android开发中使用android:configChanges="keyboard | orientation | screenLayout"
属性时,您可以防止某些配置更改(如屏幕旋转、键盘显示等)导致Activity被重新创建。这样可以保证您的Activity在这些配置更改时不会被销毁并重建,从而避免了数据丢失和重复渲染。
然而,在某些情况下,您可能仍然需要使用setRetainInstance
或onSaveInstanceState
方法来保存和恢复Fragment的状态。这通常发生在以下情况:
setRetainInstance
来确保您的Fragment在这些情况下保持其状态。onSaveInstanceState
方法来保存Fragment的状态,以便在Activity重建时恢复这些状态。总之,虽然android:configChanges="keyboard | orientation | screenLayout"
可以防止Activity被重新创建,但您仍然需要使用setRetainInstance
或onSaveInstanceState
来保存和恢复Fragment的状态,以确保在特定情况下您的应用程序能够正确地处理配置更改。