1

targetSDKVersion のドキュメントを読んでいるときに、「互換性動作」という用語に出会いました。

アプリケーションが対象とする API レベルを指定する整数。設定されていない場合、デフォルト値は minSdkVersion に指定された値と同じです。この属性は、ターゲット バージョンに対してテストしたことをシステムに通知し、システムはターゲット バージョンとのアプリの前方互換性を維持するために互換動作を有効にすべきではありません。アプリケーションは、古いバージョン (minSdkVersion まで) でも実行できます。

ここで互換性動作とは何かわかりません。どんな例でも、この用語を明確にするのに役立ちます。

4

1 に答える 1

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 は同じ動作を保証する互換動作レイヤーを提供します。

于 2016-05-09T06:33:44.203 に答える