項目開發(fā)迭代的時間越久遇到的問題就越多,我們現(xiàn)在項目就面臨著這個問題,這樣就能越來越體現(xiàn)出最初搭建架構(gòu)的好壞了缚窿,重構(gòu)一個項目也是很麻煩的调鲸,如果最開始沒有做好后期重構(gòu)的打算盛杰,代碼一鍋粥,模塊糾結(jié)不清藐石,牽一發(fā)動全身即供,那這個項目重構(gòu)起來不亞于新作一個,當前市面流行的組件化于微、插件化開發(fā)逗嫡,就一定程度解決這個問題,拆分模塊株依,減少模塊之間的耦合度驱证,后期可以一個模塊一個模塊的重構(gòu)
我現(xiàn)在項目遇到的問題,我將隨著重構(gòu)項目恋腕,然后寫這篇博客抹锄,方便以后自己構(gòu)架一個項目的時候注意的地方
一、apk瘦身
我們公司現(xiàn)在的項目都達到了100M荠藤,功能雖然多了點伙单,也雜了點,但是我感覺還不至于要這么大哈肖,隨著慢慢的掌握這個項目吻育,發(fā)現(xiàn)了一些問題,讓我也思考了一些東西牡彻,Android studio提供了很多分析工具扫沼,我們可以通過這些工具進行分析我們的apk,想analyze apk分析apk各個部分占用大小
apk說到底庄吼,無非也是一種壓縮格式缎除,壓縮包里面包含的幾個部分如下圖
代碼部分已經(jīng)被編譯成dex,剩下的基本是一些資源文件总寻,但是就是這些資源文件占據(jù)的就很大器罐,尤其是圖片和聲音、視頻等資源渐行,我的項目目前就占了我當前項目的百分之六十轰坊,我就先從這些資源下手
1铸董、圖片資源
隨著項目不斷變更,功能迭代肴沫,我們總是會來不及刪除一些沒用的圖片粟害,清理沒用的圖片,再就是有些圖片過大颤芬,有的地方?jīng)]必要放那么大的圖片悲幅,要注意尺寸,適配要有度站蝠,要有好的適配方案汰具,再就是有些圖片我們完全沒必要放到apk中,我們可以在用戶打開軟件是去下載資源文件菱魔,還有就是那種多功能的資源留荔,把用戶手機的尺寸和長寬比給服務器下載相應資源,這樣也能很好的做好適配澜倦,我們就要編一個資源版本號聚蝶,這樣我們可以隨時替換一些資源文件,當然我們要寫個功能木塊專門管理這些資源肥隆,像升級既荚、替換、加載等分裝起來栋艳,還有些資源隨時用隨時加載就可以恰聘,現(xiàn)在的第三方圖片加載框架都有三級緩存等一些優(yōu)化處理,沒必要放到apk安裝包中吸占,同樣這樣也靈活一些晴叨,所以我們在搭建項目和添加功能模塊的時候多考慮一下