我不希望每次旋转设备时都重新创建Activity,所以我在我的清单文件中放了android:configChanges =“keyboardHidden | orientation”标签。
这种方法有什么不利之处吗?屏幕似乎在旋转时自动重新布局,一切运行良好,每次屏幕旋转时我都不需要重新初始化活动中的所有对象。
谢谢!
答案 0 :(得分:1)
不确定你是否仍然想要一个答案,但我猜测它的缺点是,如果用户接听电话并将你的应用放在后台,它并不能让你知道你的应用程序是否正常工作。换句话说,如果您的应用程序能够在状态变化最小的情况下继续进行方向更改,那么它应该能够处理拨号焦点。
此外,如果您根据方向或关键字对资源进行任何更改(例如,如果您有仪表板屏幕并且想要更改主页按钮的位置),Android将不会自动为您加载这些更改。
看看谷歌的设计模式,似乎谷歌使用这两种方法。例如,在新的Google+应用中,他们并不依赖于configChanges
选项,因为LogCat会显示unexpected resume of activity
消息,只有当活动被销毁并重新创建时才会显示该消息。谷歌确实在其他地方使用该选项,例如日历应用程序来编辑约会,以及我认为的浏览器。
因此,在没有configChanges
的情况下设计应用程序是个好主意,如果有一些东西可以恢复(例如是否显示上下文菜单),一旦一切正常,就可以添加它。