# Windows 上清理 Chrome 缓存，不会掉登录

Chrome 的缓存是它存下来的图片、脚本和编译好的代码，同一个网页再打开时就不用全部重新下载，在 Windows 上它放在用户配置目录里，开了好几个 Chrome 个人资料的话，加起来到几个 GB 很常见。清缓存本身是安全的，Chrome 会自己重新生成，麻烦在于同一个对话框里还有 Cookie 和浏览记录，真正让人掉登录、丢东西的是这两个勾。

## 先选要处理哪一类数据

| 数据 | 是什么 | 清掉的代价 |
| --- | --- | --- |
| 缓存的图片和文件 | 网页资源的本地副本 | 下次打开网站时图片和脚本要重新加载 |
| Code Cache、GPUCache、着色器缓存 | 编译好的脚本和图形计算结果 | Chrome 重新编译，头几次加载稍慢 |
| Cookie 及其他网站数据 | 登录状态、网站设置、Web Storage、IndexedDB | 要重新登录网站，网站存在本地的离线数据也没了 |
| 浏览记录 | 访问过的网页列表 | 历史记录、新标签页快捷方式和地址栏里这些网站的提示 |
| 密码、书签、扩展程序 | 保存下来的账号数据 | 清缓存不会动它们，各有各的管理页 |

只是想清理出磁盘空间，或者某个网页一直显示旧版本，处理前两行就够了，Cookie 只在某个网站确实坏了的时候才值得清，而且只清那一个网站的。

## 在 Chrome 里清缓存

按 Google 的[删除浏览数据说明](https://support.google.com/chrome/answer/2392709)，点右上角的**更多**（三个点），再选**删除浏览数据**，也可以直接在地址栏输入「删除浏览数据」选它给出的操作，或者按 **Ctrl + Shift + Delete**。

1. 选时间范围，**时间不限**会清掉全部缓存，某个网页刚出问题时选**过去一小时**就够了。
2. 勾选**缓存的图片和文件**。
3. 除非真想删，否则取消勾选 **Cookie 及其他网站数据**和**浏览记录**。
4. 点**删除数据**。

清 Cookie 不会让你退出 Chrome 本身，也不会关掉同步，但 [Google 说明](https://support.google.com/accounts/answer/32050)里提到部分网站设置会被删掉，可能要重新登录网站。开着同步时删掉的浏览记录也会从其他登录同一账号的设备上消失，这也是清缓存时别碰那个勾的另一个理由。

只是一个网站出问题，就打开那个网站，点地址栏左边的图标，选**网站设置**，再点**删除数据**，这样只清它自己的 Cookie 和存储，不影响其他网站。

## 在磁盘上找到缓存目录

这个对话框不显示缓存占了多少空间，想量大小就去 Chrome 的用户数据目录，按 **Win + R** 粘贴：

```text
%LOCALAPPDATA%\Google\Chrome\User Data
```

这里每个个人资料是一个文件夹，第一个叫 `Default`，之后是 `Profile 1`、`Profile 2` 依次往下，分不清哪个文件夹对应哪个个人资料时，在那个个人资料里打开 `chrome://version`，看**个人资料路径**那一行。每个个人资料文件夹里的缓存是这几个：

```text
Cache
Code Cache
GPUCache
Service Worker\CacheStorage
```

另外还有几个缓存只有一份，直接放在 `User Data` 下面，和各个个人资料并排：`ShaderCache`、`GrShaderCache` 和 `GraphiteDawnCache`。右键文件夹选**属性**就能看到大小。公司电脑上缓存可能不在这里，管理员可以用 Chrome 的 `DiskCacheDir` 策略把它挪到别处，这种情况就用 Chrome 的对话框清，不用去翻目录。

## 手动删除缓存目录

先关掉 Chrome，而且要确认真的关了，**设置 > 系统 > 关闭 Google Chrome 后继续运行后台应用**开着时，关掉最后一个窗口 Chrome 还在后台跑，去通知区域找它的图标从那里退出。Chrome 运行时会一直占着 `User Data\lockfile` 这个文件，Windows 也会拒绝删除它正在用的文件。

然后删掉每个个人资料里 `Cache`、`Code Cache`、`GPUCache` 的内容，以及 `User Data` 下面那三个着色器目录的内容。个人资料里其他东西都留着，`Cookies`、`History`、`Login Data`、`Local Storage`、`IndexedDB`、`Preferences` 和 `Bookmarks` 是用户数据不是缓存。别图省事把整个 `User Data` 或某个个人资料文件夹删掉，那等于重置个人资料，会连本地保存的密码和设置一起删掉，而同步里不一定有它们。

`Service Worker\CacheStorage` 不太一样，网站是有意把文件放在这里好离线使用的，比如网页邮箱存下的邮件、音乐网站保存的歌曲，一般清掉也没事，但要像对待 Cookie 那样，确定不需要那份离线副本时再清。

## 验证结果

开始前记下 C 盘的可用空间，清完再刷新看一次。几乎没变的话，看看删掉的文件是不是进了回收站，回收站没清空之前它们仍然占着空间。重新打开 Chrome，头几个网页会慢一点，缓存在重新填充，之后几天它还会长回来，所以目标不是一个空文件夹，而是缓存占的空间在能接受的范围内。

缓存本来就不大、C 盘还是满的，那原因不在 Chrome，[Windows 缓存清理](/zh/windows/blog/windows-cache-cleanup)讲了其他占空间的地方，[Edge 一直在后台运行](/zh/windows/blog/edge-running-in-background)讲的是微软浏览器同样的后台常驻行为。

## Mole 能做什么

Mole for Windows 的**清理**会列出 Chrome 每个个人资料的 `Cache`、`Code Cache`、`GPUCache` 和 WebGPU 缓存，以及着色器缓存、下载下来的组件包和扩展程序包、超过七天的崩溃报告，这些行默认勾选。`Service Worker\CacheStorage` 放在需确认里，默认不勾，勾了也是移到回收站。清理没有任何规则会动 Cookie、浏览记录、密码、`Local Storage` 或 `IndexedDB`。Chrome 正在运行时，这些行会显示 **Chrome 占用缓存**，可以直接退出它再清。普通缓存默认永久删除，想留个恢复的余地，就在清理前把**设置 > 缓存删除方式**改成**回收站**，Edge 的缓存也是同样的处理方式。

## 常见问题

### 清 Chrome 缓存会让我掉登录吗？

不会，掉登录是清 Cookie 导致的，跟缓存的图片和文件无关，不勾 **Cookie 及其他网站数据**，网站的登录状态都在。

### 缓存为什么很快又长回来了？

浏览时 Chrome 会不断往里填，这本来就是缓存的用处，只有它真的占了不少空间，或者某个网站一直显示旧内容时，才值得再清一次。

### 清缓存能让 Chrome 变快吗？

一般不会，缓存是为了让重复访问更快，刚清完反而会慢一点，它能解决的是某个网站显示旧版本或者页面错乱，不是日常提速的办法。


Canonical: https://mole.fit/zh/windows/blog/clear-chrome-cache-windows
