Honeycomb的方向改变

hpi*_*que 18 android screen-orientation android-configchanges android-3.0-honeycomb

我有一个不会在方向更改后重新创建的活动.我在清单中的活动声明中添加了以下内容:

android:configChanges="orientation"
Run Code Online (Sandbox Code Playgroud)

在Android 2.3上,这非常有效.在更改方向时,无论如何都会调用HONEYCOMB_MR2 onCreate.

是否还需要在HONEYCOMB_MR2上执行其他操作以防止在方向更改后重新创建活动?

hpi*_*que 38

显然使用orientation|screenSize(?)阻止onCreateHoneycomb和(到目前为止)在以前的Android版本中似乎没有破坏任何东西.

android:configChanges="orientation|screenSize"
Run Code Online (Sandbox Code Playgroud)

不知道为什么这是必要的,我不太了解有关这个新值的文档.

我怀疑在HONEYCOMB_MR2中,在方向更改时,活动会将此视为两个配置更改:方向和屏幕大小.并且两者都默认尝试重新创建活动.

  • 好吧,那会触发文档所说的内容.这与新的资源集限定符有关:http://android-developers.blogspot.com/2011/07/new-tools-for-managing-screen-sizes.html基本上,因为它们扩展了前者的小/正常/ large/xlarge和port/land包含基于维度的资源集,他们会将这些维度的变化视为配置更改.可以想象,可能存在这些尺寸不是通过方向改变的设备(例如,具有第二屏幕切换功能的双屏设备开/关). (2认同)