美文网首页
Android Studio 查找无用资源

Android Studio 查找无用资源

作者: 愈强 | 来源:发表于2020-09-15 23:34 被阅读0次

    随着业务迭代,应用中的资源会越来越多,同时也会有一些老旧无用资源文件不再被引用。及时清理无用资源可以有效防止包体积增长过快。下面介绍如何在Android Studio中查找无用资源并进行删除。

    1. 在工程目录中点击右键,选择Analyze->Run Inspection by Name…

    清理无用资源

    2. 在弹出的对话框中输入unused resource,并点击回车键

    搜索unused resource

    3. 选择搜索范围,然后点击OK键,即可开始自动搜索。

    选择搜索范围

    建议总是选择“Whole project”选项。假如选择指定module,那该module中如果有资源仅被上层模块引用,将会在这种模式下被标记为无用资源,从而造成清理错误。

    4. 下面是运行结果页面。

    无用资源结果页面

    右侧有一个按钮“Apply quick fixes to all the problems”。点击该按钮后,IDE会自动将搜索到的所有无用资源一起删除。

    5. 关于反射引用资源的问题

    在某些情况下,代码中可能会通过反射的方式引用特定资源。这种情况下,如果资源被删除,是很令人沮丧的。

    为了避免资源被错误删除,可以这样做:

    1. 在反射资源的代码附近添加一个资源引用代码(无论该资源是否被其他位置应用,都建议这样做):
    // 代码可以像下面这样,既保证了资源的引用,又不影响正式包的运行状态。
    if (BuildConfig.DEBUG) {
        Log.i("yq", "we need resource " + R.drawable.ic_launcher_foreground);
    }
    
    1. 在资源中添加注释,表名该资源被反射引用。如果资源是个图片无法添加注释,可以将信息写在commit log中。

    2. 在使用资源的时候,如果发现资源不存在,不要沉默处理,应该抛出一个运行时异常以方便开发者能够迅速定位问题。

    相关文章

      网友评论

          本文标题:Android Studio 查找无用资源

          本文链接:https://www.haomeiwen.com/subject/dhbqyktx.html