首页 文章

android:手动处理配置更改的优点/缺点

提问于
浏览
1

我不希望每次旋转设备时都重新创建Activity,所以我在我的清单文件中放了android:configChanges =“keyboardHidden | orientation”标签 .

这种方法有什么不利之处吗?屏幕似乎在旋转时自动重新布局,一切正常,其优点是每次屏幕旋转时我都不需要重新初始化活动中的所有对象 .

谢谢!

1 回答

  • 1

    不确定你是否仍然想要一个答案,但我猜测它的缺点是,如果用户接听电话并将你的应用程序放在后台,它并不能让你知道你的应用程序是否正常工作 . 换句话说,如果您的应用程序可以在状态变化最小的情况下继续进行方向更改,那么它应该能够处理拨号焦点 .

    此外,如果您根据方向或关键字对资源进行任何更改(例如,如果您有仪表板屏幕并且想要更改主页按钮的位置),Android将不会自动为您加载这些更改 .

    看看谷歌的设计模式,似乎谷歌使用这两种方法 . 例如,在新的Google应用中,他们不依赖于 configChanges 选项,因为LogCat会显示 unexpected resume of activity 消息,只有当活动被销毁并重新创建时才会显示该消息 . 谷歌确实在其他地方使用该选项,例如日历应用程序来编辑约会,以及我认为的浏览器 .

    因此,如果有一些东西可以恢复(比如是否显示上下文菜单),那么在没有 configChanges 的情况下设计应用程序并在以后添加它是一个好主意 .

相关问题