安卓版本兼容問題出現的背景是因爲安卓隨着版本不斷的更新,會不斷的增長API和廢棄一些舊版本的API,而市面上手機安裝的安卓操做系統版本不一致,就會致使安卓版本的兼容問題。android
平時開發中須要注意一下幾點:app
一、咱們開發的APP儘量先知足市面上絕大部分機器的使用。(實用性原則)。ui
二、瞭解清單文件中這兩個屬性minSdkVersion和targetSdkVersion的含義,minSdkVersion表示APP最低支持的安卓版本,一般這個值儘可能越低越好(知足實用性原則爲前提),targetSdkVersion表示最高支持版本,這個值一般設置爲當前最新安卓版本的API等級。操作系統
三、安卓提供Build類能夠獲取當前運行環境的安卓版本,經過分支加載不一樣的代碼塊來實現版本兼容問題,好比:開發
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
{
// 包含新API的代碼塊
}
else
{
// 包含舊的API的代碼塊
}
總結:
實際開發中通常把compileSdkVersion設置爲android:compileSdkVersion同樣,這樣看來咱們開發的app兼容範圍就是:minSdkVersion至targetSdkVersion, 那麼這三種配置理想狀況應該是get
minSdkVersion (lowest possible) <= targetSdkVersion == compileSdkVersion (latest SDK)
io