【问题标题】:android: pros/cons of manually handling config changesandroid:手动处理配置更改的优缺点
【发布时间】:2010-09-17 19:25:02
【问题描述】:

我不希望每次旋转设备时都重新创建我的 Activity,因此我将 android:configChanges="keyboardHidden|orientation" 标签放在清单文件中。

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

谢谢!

【问题讨论】:

    标签: android


    【解决方案1】:

    不确定您是否仍需要答案,但我猜缺点是如果用户接听电话并将您的应用程序置于后台,它并不能真正让您知道您的应用程序正常工作。换句话说,如果您的应用可以在状态变化最小的情况下承受方向变化,那么它应该能够处理拨号器将焦点移开。

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

    看看 Google 的设计模式,Google 似乎同时使用了这两种方法。例如,在新的 Google+ 应用程序中,他们不依赖 configChanges 选项,因为 LogCat 显示 unexpected resume of activity 消息,对我而言,它仅在活动被销毁和重新创建时显示。 Google 确实在其他地方使用了该选项,例如编辑约会的日历应用程序和我认为的浏览器。

    因此,最好在不使用 configChanges 的情况下设计您的应用程序,然后在一切正常后添加它,如果有一些无法恢复的东西(例如上下文菜单是否显示)。

    【讨论】:

    • 在新笔记上,您可以使用Fragments 和setRetainInstance() 方法
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 2011-03-06
    相关资源
    最近更新 更多