android 启动过程中如何清理cache,android 开发过程中涉及到的清除缓存操作

标签:

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

Clean Project

![在这里插入图片描述](

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

他们区别在于:

:clean 删除 /build 文件夹

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

Invalidate Cache/Restart

eefdb59d0bd0a180f75ab4c5357716a1.png

invalidate Caches/Restart 会删除 android studio 的缓存。

详细内容可查看 idea 的官方文档

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

无法查看 local history

所有项目都需要重新 build

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

删除 .idea/libraries

71e3952b31524ccb8217d06b8b95ec73.png

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

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

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

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

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

514e79a8fe7a61cde9cf40e66e00cdf0.png

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

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

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

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

659d5590f4b2571dbe8eb50a626a1e47.png

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

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

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

d068450d1ac4ac0af157736d72490270.png

再理一遍它们的关系:

第一次执行 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。

标签:

来源: https://blog.csdn.net/Gdeer/article/details/83049615

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值