在Android中处理屏幕方向变化的正确方法

7
什么是在Android中处理方向更改的正确方法?当我研究这个问题时,有两种方法出现了。
第一种方法: 使用方法 onSaveInstanceState(Bundle savedInstanceState) 和 onRestoreInstanceState(Bundle savedInstanceState) 来存储和恢复您的 Activity,在方向更改后被 Android 操作系统杀死。
第二种方法: 将 android:configChanges="orientation|keyboardHidden" 添加到 AndroidManifest.xml 中,这样当方向更改时,Activity 将不会被销毁。
我尝试过这两种方法,它们都有效,但第一种方法需要更长时间来实现。虽然我看到了关于第二种方法的帖子,但我想知道这是否是处理方向更改的“接受”和“正确”方式。每种方法的优缺点是什么?谢谢!
2个回答

3
第二种方法将不允许您执行某些特定于方向的操作,例如在屏幕旋转或未旋转时加载不同的布局(我在这里考虑资源后缀)。然而,我没有遇到任何其他不良影响,但文档指出:“应避免使用此属性,并仅作为最后的手段使用。”
更多信息请参见:http://developer.android.com/guide/topics/resources/runtime-changes.html

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接