Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android App開發中的適配

Android App開發中的適配

編輯:關於Android編程

Android手機的碎片化問題不用贅述,在此對適配什麼及適配方法進行一次總結。
我們先來看被適配的對象。 第一類是操作系統適配,即適配Android 2.X,4.X,5.X……每個版本的操作系統,都有其特定的變化,對於App開發者而言,最重要的一點就是要明確每一個版本API Changed List。對變更列表中的新增API,可以選擇性使用;對廢棄API,可以及早應對;對變化的API,尤其是形式不變而含義變化的API,要重點研究,以免在不同版本中帶來行為上的差異。比如權限分裂及默認值的變化,由串行到並發的變化,精確計時與非精確計時的變化等等,這些都會帶來隱藏很深的適配性問題。 另外,就是仔細處理好MinSdkVersion、TargetSdkVersion、CompileVersion,每一個數值的選擇都不是隨意來的,這些也影響對操作系統的適配。 第二類是廠家型號,即適配三星、小米、Note5、米2……這塊有兩種適配方式,一是公版適配,二是定制開發。我們先從公版適配說起,這也是大多數App在用的方式。 公版適配這裡指的是只存在一套代碼,一個APK,要適配所有的廠商或機型。比較差的方式通常就是在代碼中涉及到不同廠商或型號的地方通過if語句利用Build裡的廠商標識等進行不同的策略,其結果就是適配得越多,if語句越復雜,越難維護。其實只要利用一個工廠模式就可以做得更靈活一些,例如:\
定制開發往往會形成分裂的版本,即區別於公版的獨立APK,這種適配可以與廠商SDK深度結合,往往會通過預裝,與ROM結合得更緊密。 第三類是硬件兼容。主要是對包括屏幕分、CPU、內存、外存、傳感器等進行適配,其主要思路也是抽象隔離。
搞清楚要適配的對象以後,我們接下來從三層架構的角度分別總結一下適配方法。 在數據層,我們最主要的是進行外部存儲的適配,即考慮數據存儲的位置、格式、易失性等。通常這種持久化的數據存儲,都要考慮存儲位置及其易失性問題,不要把關鍵數據保存在易失的外部存儲當中,還有Android 5.X開始的外卡的不可訪問性,進而,可以根據存儲空間和數據特點考慮明文格式還是密文格式,壓縮還是不壓縮。 在業務邏輯層,主要的是根據不同的運行環境進行策略調整,以策略為主。 在展現層,對於屏幕分辨率、方向,可以采用相對單位dp、sp代替pix,可以使用Android提供的layout等常規適配方法。對於交互和界面元素,可以采用交互降級、視覺降級的思路,即在不同性能的手機上采用不同的交互復雜度及視覺效果、動畫效果。對於系統元素,如桌面圖標、通知欄等,由於Rom、Launcher差異太大,建議遠離這些部分,不要去搞,否則成本可能會大於收益。
適配是很辛苦的事,分離變化,隔離變化,多利用設計方案來求解,要比到處隨意增加if語句來得更清晰。
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved