Android 快速搭建App架構
阿新 • • 發佈:2019-02-02
如何搭建App的基本框架,這個問題考察了Android的技術選型以及整體架構的能力。
有一定經驗的Android開發者,或多或少都有自己的一套基礎開發工具集,這些工具包含了開源的第三方庫和自己開發的庫。
App的整體架構:應用層和基礎層
- 應用層用於展示效果,直面使用者
基礎層用於實現,提供App的公有的東西,避免重複
技術選型的考量點:
選擇第三方庫一般綜合考慮如下幾點:提供的特性是否滿足專案的需求
- 是否提供簡潔的api,方便整合
- 效能不能太差
- 文件比較齊全
- 技術支援
- 大小
方法數,避免64k問題
日誌記錄能力
Logger基於Android的Log類基礎上進行封裝,格式化輸出,支援json、xml格式資訊,但不支援List、Set、Map和陣列常見的java集合類的格式化輸出
- LogUtils實現Logger缺失的上述特性
- Logger只支援列印到Logcat
- timber實現了Logger缺失的上述特性
最終,選用timber+Logger+LogUtils
JSON解析能力
- Fastjson 效能和包大小
資料庫操作能力
- greeDAO 效能和包大小
網路通訊能力
- Okhttp
- Volley 處理快取、載入、請求
圖片快取和顯示能力
- BitmapFun 71kb
- Picasso 120kb
- Glide 475kb
- Fresco 3.4MB
android-Universal-Image-Loader 162kb
根據App對圖片顯示和快取需求從低到高來選擇