android資源優(yōu)化工具類--ScanUnusedResouce

????前段時間需要創(chuàng)建一個新的項目,在已有的一個app項目上代碼復制一份,將其中某些模塊和資源文件進行修改,段時間內快速開發(fā)上線一個新的app的功能需求,我相信很多開發(fā)者都遇到過這種需求,當時將項目拷貝過來,相應模塊刪除修改后,還有很多無用資源文件,不知道哪些文件有沒有被引用,人工排除比較費勁,想要通過Lint工具掃描工程資源,但是發(fā)現(xiàn)Lint不太好用(基于自身對Lint用的較少,而且如果工程里面存在反射,過濾結果會比較麻煩),于是上github查詢了一番,發(fā)現(xiàn)了一個比較好用的資源工具類---ScanUnusedResouce。

? ? ScanUnusedResouce是一個基于Java程序的工具類,能夠過濾掉通過反射調用的資源,可以在android studio中運行java程序的方式(as中運行java程序可參考此文)來檢測項目中的無用資源,原理就是通過運行main()方法,把所有java和xml文件以字符串掃描到內存,然后拿到資源文件(xml,png,jpg等)名稱做匹配查找,如果沒有匹配到,該資源就是無用資源,可以直接刪除。

? ? 此工具類優(yōu)缺點:

? ? ? ? ?優(yōu)點:

????????????????????1.便于操作,非常好用

? ? ? ? ? ? ? ? ? ? ?2.可以過濾掉通過反射調用的資源

????????????缺點:

? ? ? ? ????????1.不能解決資源拼接的問題

? ? ? ? ? ? ? ? ?2.不能處理存在很多資源前綴相同的情況


在ScanUnusedResouce中,將ROOT_DIR的路徑初始化為自己需要掃描項目的根路徑,IMG_DIRS中的drawable分別改成對應的mipmap,并將getAllUnusedResExcept()方法中創(chuàng)建FileReader的file文件路徑略微修改即可,此工具類中也定義了一個HOLD的字符數組,用于存在拼接查找資源的邏輯,根據自己的項目實際情況可進行修改操作。掃描結果如下:


掃描結果圖

掃描出的這些資源文件和類都是無用資源,可以刪除,而且類中有個字段控制是否自動刪除操作的。




最后貼上工具類鏈接地址:ScanUnusedResouce? ?有問題多多討論!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,034評論 25 709
  • 這世上,最可怕的不是絕世武功,也不是無數人夢寐的神兵利器,而是人心。 江湖,當你聽到這個詞時,你便已置身其中,...
    李某某不能用閱讀 596評論 0 0
  • read dwa ddog | bird | cat----|------|----foo | foo | foo...
    云涯yua閱讀 238評論 0 0
  • 文|趙大風 (1) 夜深人靜樹影婆娑的國慶路上,有一家不起眼的路邊攤,主營雞蛋炒飯。店家沒有特別為它起名,但食客們...
    野火戲春風閱讀 680評論 0 2
  • 西藏行8 早上是入藏后吃的最好的一頓早餐,番茄雞蛋面,價格也公道,也許離拉薩也越來越近了,大家都很興奮。今天目標林...
    閑情偶記閱讀 233評論 0 0

友情鏈接更多精彩內容