最近閑來無事,就想說把之前添加的一些無用資源給去掉,以免占用過多的位置。百度了一下,發現大部分人都推崇使用AS自帶的lint,既然如此,學起來吧~
1.打開AS,選擇頂部Analyze下的Run Inspection by Name ...,如圖:

2.按照1.操作之后,AS會出現一個彈出框,既然是刪除無用資源的,那么就在彈出框處輸入unused(大小寫無所謂),如圖:

可以看到,其實可以通過這個搜索出很多沒有使用的id啊、library庫之類的資源,但是這次,我要刪除的是resources資源,所以我直接就輸入了unused re,剛輸入re,下方就出現了我想要的結果,直接選中就ok,如圖:

3.雙擊選中未被利用的resources之后,AS界面進而會繼續彈出一個框:

它是默認選擇整個項目范圍內來搜索的,當然你也可以這樣選擇,但是這樣選擇lint就會把你的整個項目都搜索一遍,什么意思呢,意思就是最后搜索出來的結果是異常龐大的,這樣不利于我們查看,由于我這邊是要刪除未被利用的圖片資源,所以,我就舉一個自定義范圍內的例子,選中Custom scope發現,其實它是自定有很多范圍的:

但是事實上,這還不夠人性化,那么我們就自己自定義吧,選中右側的 ... 圖標,進行自定義,點擊 ... 之后,就會出現一個Scopes的彈出框,點擊左側的綠色+號,選中Local,給你的自定義范圍輸入一個名字,當然你不輸入也無所謂,反正它自帶有,然后OK,就會如圖所示:

Library Classes我不關心,Test Classes我也不關心,我只關心中間的那項,所以雙擊中間那項Classes,之前我有說過,我這次要刪除的是未被利用的圖片資源,那么依照項目層級,我找到了我的圖片資源的文件夾,如圖:

那么如何選中呢,再舉個栗子:選中“drawable”,然后看到右側的include,點擊,就可以了,其他幾個drawable以此類推,所有都選中了之后,選擇OK,就可以看到,Scopes會選中我們剛剛自定義好的范圍了,繼續ok,lint就會按照我們自定義的范圍去搜索:

搜索出來的結果(由于我這邊已經刪除過一次了 所以搜索出來的未利用圖片資源還是很少的):

這樣,就可以很清晰的看出來,drawable下有多少未被利用的資源了,不過,由于我也是初學的,所以其實我不知道到了這一步,能不能直接在這個結果的基礎上走刪除,我是直接根據這個結果,去文件夾下搜索之后手動刪除的,過程還是耗費了一點時間的,每刪除一部分都會重新跑一次代碼,相對來說還是比較穩妥的。如果有哪位大神,對于lint的使用方法比較熟悉的話,可以留言告訴我,如何直接在搜索的基礎上刪除掉未被利用的資源,省得我還去一個個查了。
當然,我在百度的過程中,也發現了另外一種直接刪除資源的方法,但是不知道是不是我的使用方法不對,利用AS自帶的直接刪除功能的話,我的代碼會跑不起來。不過在這里也分享給大家,見仁見智吧,右鍵選中要刪除未利用資源的那個文件夾,然后如圖操作即可:

新聞熱點
疑難解答