android中的兼容性行为是什么?

时间:2016-05-09 05:44:54

标签: android android-compatibility forward-compatibility

当我阅读targetSDKVersion的文档时,我遇到了一个术语,即“兼容性行为”。

  

指定应用程序所针对的API级别的整数。如果   未设置,默认值等于给予minSdkVersion的值。这个   属性通知系统您已针对目标进行了测试   版本和系统不应启用任何兼容性行为   保持应用程序与目标版本的向前兼容性。   该应用程序仍然可以在旧版本上运行(低至   的minSdkVersion)。

我不明白,这里的兼容性行为是什么。任何一个例子都可以帮助我明确这个术语。

1 个答案:

答案 0 :(得分:1)

这意味着,对于targetSDKVersion和更高版本的API,代码将按原样运行。对于minSdk到targetSDKVersion-1,系统可以完成向后兼容性翻译/行为。

例:

targetSdkVersion 21 // <= Lollipop 5.x 
minSdkVersion 17 // 4.4 KitKat <= you support this version thanks to some compability behaviors (it's done by the system so you don't have to woory)

如果您的应用在Android 6.0(Marshmallow)API 23上运行,由于您支持API / SDK 21,您的应用将在Android 6.0上运行而不会出现任何兼容性行为。

有关API行为兼容性的详细信息,请参阅此处(第14页): http://static.googleusercontent.com/media/source.android.com/en//compatibility/android-cdd.pdf

基本上它意味着,如果你调用一个函数,无论API版本的行为应该是相同的。特别是当您发布新API时,您通常会扩展,修改,修复与先前版本行为不一致的代码。因此,为了防止因代码更新而导致的任何问题,Android提供了保证相同行为的兼容性行为层。