android 开发过程中涉及到的清除缓存操作

14 篇文章 1 订阅

android 开发过程中会遇到很多缓存,常常使人摸不清楚,这里总结一下,希望下次遇到缓存相关问题能有所帮助。

Clean Project

在这里插入图片描述

点击 Clean Project 会执行 clean:app:generateDebugSources task
在这里插入图片描述

其中执行 clean 时会找到根项目和所有子项目的 clean task,所以一般来讲,会执行两个 task,:clean:app:clean

他们区别在于:

  • :clean 删除 /build 文件夹
  • :app:clean 删除 /app/build 文件夹

Invalidate Cache/Restart

在这里插入图片描述

invalidate Caches/Restart 会删除 android studio 的缓存。
详细内容可查看 idea 的官方文档

这个缓存指的是代码更改记录的缓存,即local history,清除之后的效果:

  • 无法查看 local history
  • 所有项目都需要重新 build

这样看来,invalidate Caches / Restart 和 Rebuild Project 并没有什么区别。

删除 .idea/libraries

在这里插入图片描述

删除项目根目录下 .idea/libraries 目录的内容,或删除整个目录。

.idea/libraries 里的文件用来记录第三方库的 classes, javadoc 以及 sources 所对应的路径。

当更新依赖、切换git分支后,往往会出现某个库的代码报红的情况,这时候就是.idea/libraries 里的路径没有更新,所以找不到。

删除 /.idea/libraries 里的内容后,再次同步时,会重新生成。

删除 ~/.gradle/caches/transforms-1/files-1.1/

![在这里插入图片描述](https://img-blog.csdn.net/20181014184947225?

~/.gradle/caches/transforms-1/files-1.1/ 是 gradle 缓存的库解压后的目录。

/.idea/libraries 中的文件指向的路径就是这里。

删除该目录或其中某个库后,当再次执行 generateDebugSources 时,不会重新下载,会从 modules-2 (下面要讲的)目录下寻找并解压。

删除 ~/.gradle/caches/modules-2/files-2.1/

在这里插入图片描述

~/.gradle/caches/modules-2/files-2.1/ 是 gradle 缓存的库的源文件。

删除该目录或其中某个库后,当再次执行 generateDebugSources 时,会重新从网络下载。

/.idea/libraries 与 transforms-1 、modules-2

在这里插入图片描述
再理一遍它们的关系:

  • 第一次执行 generateDebugSources task,会在 preBuild 时下载依赖库到 ~/.gradle/caches/modules-2/files-2.1/,并解压到 ~/.gradle/caches/transforms-1/files-1.1/
  • as 同步时,会生成 .idea/libraries,记录依赖库缓存的路径,即 ~/.gradle/caches/transforms-1/files-1.1/...

注:
android studio 的 make、clean、sync、build 等都会执行到 generateDebugSources task。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值