首頁>Club>
我們用Windows系統的時候,遇到相容性問題的時候並不多,為什麼用最新的Android系統有的時候總會遇到相容性問題,難道只能刷回舊系統解決?
16
回覆列表
  • 1 # 萃乎

    Android相容問題取決於android軟體app開發向前相容和向後相容的問題。

    一、向前相容

    1、何謂向前相容

    google公司在不斷的發步新的android版本,這不現在都到8.0了。那麼自己剛剛釋出到應用商店的app如何在android 8.0手機上正常執行呢,這就是所謂的向前相容了。

    2、如何實現向前相容

    這個其實比較簡單,及透過targetSdkVersion設定來實現。在設定好該引數後,如果實際android版本號高於targetSdkVersion那麼手機會按照targetSdkVersion設定的版本號來執行。當實際android版本號不高於targetSdkVersion時按照實際的手機版本號執行apk。

    說到這裡,也順便談談compileSdkVersion和minSdkVersion這兩個引數吧。compileSdkVersion不會被編譯到apk中,也就不會改變apk的執行時的行為,僅僅是為IDE提供編譯警告和錯誤的依據。minSdkVersion 就更好理解了,其代表了apk所能夠支援的最低sdk版本號。

    二、向後相容

    1、向後相容含義

    也來舉個例子說明,我們知道Material Design是隨android 5.0版本推出來的設計規範。那麼我android 4.0的手機也想使用怎麼玩,著就是向後相容的問題了。

    2、向後相容的實現

    android 向後相容通常是透過支援庫(support library)來實現的。比如appcompat-v4、appcompat-v7使得低版本手機可以支援Material Design。

    支援庫的原理是這樣的,如果應用呼叫其中一個支援類的方法,則支援庫的行為將取決於執行應用的 Android 版本。如果框架提供必要的功能,則支援庫將透過呼叫框架執行任務。如果應用在舊版本的 Android 上執行,且框架未顯示所需的功能,則支援庫自身可能會嘗試提供功能或什麼都不做。無論是哪一種情形,應用通常都不需要檢查其在哪一版本的 Android 上執行,而是透過支援庫執行檢查並選擇適當的行為。通常情況下,名稱以 …Compat(如 ActivityCompat)結束的類即是如此。

  • 中秋節和大豐收的關聯?
  • 臺式電腦外接麥克風怎樣設定?