一. 问题描述:
在项目开发中, 由于需求不断的变动, 我们的页面也在不断的变化. 无用的文件也就越来越多, 这样就会加大apk的体积.
情况1: 有时候项目比较赶, 也不知道有些文件有没有用到, 也不敢乱删, 怕出问题, 久而久之无用文件就越来越多了
情况2: 如果你是半路接手人家的项目, 里面本身就有很多无用的文件, 一个一个找也不太现实.
这篇文章主要解决的问题: 如何删除无用的java文件.
想删除res下无效的资源文件, 请查看: 1. 利用Android Studio自带工具 删除res下无用的资源
二. 解决办法
首先选中你要查找的文件夹(搜索范围), 我这里选的是 项目/app下 , 右键选择Analyze(点上面Analyze按钮的也可以)---Run Inspection byName... 如下图:
Analyze .png
弹出一个搜索框, 我们输入Unused搜索(直接搜索Unused declaration也可以), 选中Unused declaration. (扩展: 里面还有很多功能, 感兴趣的自己慢慢去搞, 例如: Unused resources就是res下无效资源文件)
image.png
弹出一个选择框, 上面红框的是选择要搜索的文件夹, 下面的红框的意思是:
classes:public 公共类, 公共类没有被使用的话就会被赛选出来.
Inner classes:public 内部公共类.
其它的根据名字基本都能推测出来了.根据自己的需要选择即可, 选好以后点击OK
select.png
如下图: 左边Entry Points的表示有用java文件, 下面红框的文件就是无用的java文件, 选中文件(和windows选择文件夹方式一样, 按住shirft或Alt选即可), 然后点击safe delete删除.
假如有不想删除的java文件, 选中文件,点击Add as Entry Points按钮即可. 下次也不会被搜索出来.image.png
三. 如何判定为无用的java文件
java文件 没有直接或间接被app调用
例如: A 调用 B, B调用C.
假如A.java没有被app调用, 则 A B C 都会被判定为无用文件;
假如A.java没有被app调用, B有被APP调用, 则只有A被判定为无用文件;
作者:liys_android
链接:https://www.jianshu.com/p/6672e933e846