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

2023-11-04

标签:

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 前端学习--知识整理

    前端学习 知识整理 一 深 浅拷贝 1 深拷贝和浅拷贝是只针对Object和Array这样的引用数据类型的 2 赋值和浅拷贝的区别 3 浅拷贝的实现方式 1 Object assign 2 Array prototype concat 3
  • Ubuntu系统网络连不上&线缆已拔出&服务启动

    解决问题 Ubuntu系统网络连不上 线缆已拔出 服务启动 关于Ubuntu联网失败 最近遇到过多次 但是总结下面前面的解决方法治标不治本 根本原因在于VMware DHCP Service运行状态的问题 之前的解决方法 更改虚拟网络编辑器
  • 【电子DIY】基于NE555制作的简易电子琴

    基于NE555制作的简易电子琴 青岛科技大学 信息科学技术学院 集成162 Listen C 一 背景简介 自多次利用51单片机 无源蜂鸣器制作电子琴多次以后 突然领悟蜂鸣器产生声波的原理 无非是产生一定频率占空比50 的PWM而已 然后
  • 二叉查找树(BST)

    二叉查找树 BST 二叉查找树 Binary Search Tree 又叫二叉排序树 Binary Sort Tree 它是一种数据结构 支持多种动态集合操作 如 Search Insert Delete Minimum 和 Maximum
  • 华为麦芒B199全焦拍照 比单反还有料

    近期 在2000元内价位上涌现了很多表现出色的智能手机 其中不得不提到华为麦芒B199 该机创造了网络平台一分钟售罄10万部的销售神话 到底这部手机有什么神奇之处呢 这里重点介绍下麦芒B199先进的全焦拍照功能 华为麦芒B199 通常 我们
  • vue filters和directives的this指向

    vue filters和directives的this指向 记录一次奇葩的需求 要求自定义一个指令 点击后能跳转指定路由 directives和filters压根就没法访问this 脑袋都想破了 不废话了 上代码
  • 芯片行业常用英文术语最详细总结(图文快速掌握)

    目录 一 简介 二 厂家分类 三 工艺和阶段 3 1 芯片工艺 3 2 芯片阶段 四 晶圆等级 五 其他英文解析 六 相关岗位及职能 一 简介 本文主要总结了半导体行业在工作中常用的英文含义 通过将内容分类 对生产厂家 工艺和阶段 晶圆等级
  • Java Optional类说明及使用(JDK8)

    Optional类是JDK8提供的类 用于防止出现空指针异常 本篇旨在对该类进行说明及具体使用方式列举 一 序言 Option在使用中主要是为了简化传统Java的if else形式对null情况进行判断 既然为了简化代码编写 就必须要提到J
  • c语言 prototype_keil c语言出现错误C206 missing function-prototype

    include include define uchar unsigned char static unsigned char table 6 0 0 0 0 0 0 Declare functions uchar Busy Check v
  • 什么是解耦表示学习?使用beta-VAE模型探究医疗和金融问题

    作者 Alexandr Honchar 译者 大鱼 编辑 Rachel 琥珀 出品 AI科技大本营 id rgznai100 导语 本文对传统的人工数学建模和机器学习的优缺点进行了介绍和比较 并介绍了一种将二者优点相结合的方法 解耦表示学习
  • 浅析多线程中的各种锁

    高并发的场景下 如果选对了合适的锁 则会大大提高系统的性能 否则性能会降低 所以 知道各种锁的开销 以及应用场景是很有必要的 文章目录 常用的各种锁 互斥锁与自旋锁 互斥锁 自旋锁 读写锁 乐观锁与悲观锁 本文小结 常用的各种锁 多线程访问
  • c++之观察者模式

    一 观察者模式 随着交通信号灯的变化 汽车的行为也随之而变化 一盏信号灯可以指挥多辆汽车 观察者模式是用于建立一种对象与对象之间的依赖关系 一个对象发生改变时将自动通知其他对象 其他对象将相应作出反应 在观察者模式中 发生改变的对象称为观察
  • [2023年综述]将CNN和Transformer优势相结合的混合模型在计算机视觉领域的研究综述

    目录 摘 要 关键词 1 引言 2 CNN简述 3 Transformer简述 3 1 引言 3 2 NLP领域的Transformer 3 3 CV领域的Vision Transformer 4 结合CNN与Transformer的常见方
  • 每日一题cf!

    Problem C Codeforces 题目大意 给你一个 序列 和一个操作 选择一个x 并且让所有等于x的数为0 问让这个序列变成非递减序列的最小操作次数是多少 思路 预处理 定义一个map q用来存每个数出现的最长到达的长度 p用来存
  • 英文字母的排序

    题目内容 编写一个程序 当输入英文字符串时 计算机将这个句子中的英文字母按字典字母顺序重新排列 排列后的单词的 长度要与原始句子中的长度相同 并且要求只对 到 的字母重新排列 其它字符保持原来的状态 输入描述 一个字符串 包括大写英文字母
  • 项目-CSDN博客导出工具.md

    CSDN博客批量导出工具 解决CSDN反爬虫问题 10 14 由于CSDN缘故 暂时不能使用 有空修复 9 27 更新介绍 2019 9 26 新的UI交互界面 解决由于文件名导致的无法写文件的问题 操作更加简便 可以选择下载 添加鼠标右击
  • arx 正向遍历 逆向遍历 database

    void AllDb AcDbBlockTable pBlkTbl acdbHostApplicationServices gt workingDatabase gt getBlockTable pBlkTbl AcDb kForRead
  • 在pandas模块中,读取CSV文件主要使用pd.read_csv()函数。

    在pandas模块中 读取CSV文件主要使用pd read csv 函数 必选参数 要读取的CSV文件的文件路径 常用的可选参数 1 指定行索引 index col 2 获取指定列 usecols 3 添加columns header No
  • C语言:链栈的基本操作

    关注作者 Aqu 蓝空 描述 利用链表对栈的将实现基本操作 入栈 出栈 打印 代码 include

随机推荐