前言
關於如何高效率開發App,開發前需要做哪些準備呢?在這裏按劃分功能模塊---設計APP框架---APP質量把關---內測,正式發佈的流程來總結。
1)功能模塊
網絡模塊
事件總線
依賴注入
圖片模塊
數據存儲
tray:支持多進程的輕量級存儲
響應式編程
日誌輸出
JSON
XML
2)架構設計
這個肯定得了解下MVC,MVP,MVVM還有設計模式這些,這裏有幾個開源項目推薦下
Movie collection and information app for Android.
基於Material Design和MVP的新聞客戶端
A application show technical information every working days, use MVP pattern.
一款基於Google Material Design設計開發的Android客戶端
A concise APP about NBA News and Event with RxJava and EventBus
Material Design風格的開源照片筆記。(MVP+Dagger2+RxJava+Dex分包異步加載)
gank.io unofficial client, RxJava & Retrofit
3)崩潰統計平臺
對APP崩潰統計是必須的啦,Crittercism和Crashlytics有時候需要梯子,你懂的。ACRA需要自己來搭建。
4)測試相關
支付寶Monkey老師推薦的測試社區,裏面有很多幹貨
新一代的、專爲移動測試而生的缺陷發現及管理工具
免費移動App真機雲測試平臺
網易出品的,是監控指定被測應用在使用過程中佔用機器的CPU、內存、流量資源的性能測試小工具。
騰訊出品的,對APP進行快速的性能測試(CPU、內存、流量、電量、幀率/流暢度等等)、開發日誌的查看、Crash日誌查看、 網絡數據包的抓取、APP內部參數的調試、真機代碼耗時統計等
收集了不少測試用到的library.
5)APP內測,分發
APP開發完成了,想通過鏈接方式發給別人使用測試,下面兩個平臺可以幫到你
6)其他
檢查內存泄露,square出名,必屬精品
檢測UI卡頓, 阿里工程師出品
幫你快速的在debug版本分析,診斷問題
檢查ANR問題的利器
當你用真機調試連不上Hierarchy Viewer,它可以幫助你完美解決問題
可在mac上對Android手機和智能手錶進行一鍵截屏、錄製視頻和安裝APK等操作
後話
雖然這些開源庫好用,能讓你快速的開發出一款APP。但使用前最好要了它們存在的一些bug和坑,遇到問題可以給作者提issue,能摸索清楚原理更好了。還有就是不要過於追求開源庫,過多引入會導致你的代碼臃腫,更會造成65535方法數限制的問題,這時你得用Multidex來解決問題了,在這裏可以查詢你apk的方法數apk-method-count。