1

引用文档:

注意:从 Android 3.2(API 级别 13)开始,当设备在纵向和横向之间切换时,“屏幕尺寸”也会发生变化。因此,如果您想在为 API 级别 13 或更高级别(由 minSdkVersion 和 targetSdkVersion 属性声明)进行开发时防止由于方向更改而导致运行时重新启动,则除了“orientation”值之外,还必须包含“screenSize”值。也就是说,您必须声明 android:configChanges="orientation|screenSize"

我需要忽略screenSize配置更改。我的最低 SDK 级别是 8(Android 2.2),目标 SDK 级别是 13。因此,我需要在清单中引入它。

但是,Eclipse 无法识别它,因为它的 Android 设置设置为 2.2。所以我把它改成了合适的级别,现在它可以正常构建了。

但是,我担心在screenSize配置更改尚不可用的旧版本上会出现问题。(例如,当应用程序在 Android 2.2 设备上运行时。)也就是说,应用程序在读取清单时会崩溃,因为screenSize它是未知值。还是会在 3.2 之前的设备上简单地忽略它?

PS:我现在没有机会在真实设备上测试它,在如此关键的问题上我不会单独相信模拟器。

4

2 回答 2

6

它会忽略它。分屏操作栏和其他类似的东西也是如此。与 java 不同,android 操作系统无法从它基本上忽略的清单中理解的任何东西。

于 2012-12-27T23:37:01.337 回答
5

简短的回答:它被忽略了。

通常,清单中无法识别的值(例如 2.2 之前的设备上的 screenSize)正是由于这个原因而被忽略。否则,开发人员将无法使用新平台版本中添加的功能,而不会破坏旧设备的向后兼容性。

于 2012-12-27T23:37:23.227 回答