1. 报告目的
本报告旨在指导开发者和运维人员安全清理 EBWebView 目录下的临时缓存文件,在不影响核心功能和持久化数据的前提下,优化存储空间使用,提高 WebView 性能。
2. 清理原则
在不清除持久化数据(如配置、登录状态、核心功能数据)的前提下,仅删除各类临时缓存、崩溃报告、试验数据、渲染缓存等非核心文件/文件夹,核心持久化文件/文件夹需严格保留。
3. 可安全删除的内容
3.1 文件夹(全部为临时缓存/非核心数据)
| 文件夹名称 | 类型 | 说明 |
|---|
| AutoLaunchProtocolsComponent | 临时缓存 | 自动启动协议组件缓存 |
| CertificateRevocation | 临时缓存 | 证书吊销列表缓存 |
| component_crx_cache | 临时缓存 | 组件 CRX 缓存 |
| Crashpad | 崩溃报告 | 崩溃报告和转储文件 |
| Domain Actions | 临时缓存 | 域名操作缓存 |
| extensions_crx_cache | 临时缓存 | 扩展程序 CRX 缓存 |
| GraphiteDawnCache | 渲染缓存 | 图形渲染缓存 |
| GrShaderCache | 着色器缓存 | 图形着色器缓存 |
| hyphen-data | 临时缓存 | 连字符数据缓存 |
| MEIPreload | 临时缓存 | MEI 预加载数据 |
| OriginTrials | 试验数据 | 源试验功能缓存 |
| PKIMetadata | 临时缓存 | PKI 元数据缓存 |
| ShaderCache | 着色器缓存 | WebGL 着色器缓存 |
| SmartScreen | 临时缓存 | SmartScreen 过滤缓存 |
| Speech Recognition | 语音缓存 | 语音识别功能缓存 |
| Subresource Filter | 过滤缓存 | 子资源过滤规则缓存 |
| Trust Protection Lists | 临时缓存 | 信任保护列表缓存 |
| TrustTokenKeyCommitments | 临时缓存 | 信任令牌密钥承诺缓存 |
3.2 文件(临时/缓存类)
| 文件名 | 类型 | 说明 |
|---|
| Last Version | 临时文件 | 最后版本记录 |
| RevisitationBloomfilter | 缓存文件 | 页面重访布隆过滤器 |
| Variations | 临时文件 | 功能变体配置 |
4. 禁止删除的核心持久化数据
| 文件/文件夹名称 | 类型 | 说明 | 风险 |
|---|
| Local State | 配置文件 | WebView 核心本地配置文件,包含设置、偏好等持久化信息 | 删除会丢失所有 WebView 配置 |
| WidevineCdm | 核心模块 | DRM 内容解密模块 | 删除后会导致受保护视频(如部分在线流媒体)无法播放 |
| Default | 用户数据 | 默认用户数据目录(内含 Cookie、LocalStorage、IndexedDB 等持久化数据) | 禁止删除整个文件夹,仅可删除内部缓存子目录 |
4.1 Default 目录清理建议
虽然 Default 目录整体禁止删除,但其中的部分子目录可安全清理:
| Default 子目录 | 可清理状态 | 说明 |
|---|
| Cache | ✅ 可清理 | 页面资源缓存 |
| Code Cache | ✅ 可清理 | JavaScript 代码缓存 |
| GPUCache | ✅ 可清理 | GPU 加速缓存 |
| Media Cache | ✅ 可清理 | 媒体资源缓存 |
| Service Worker/CacheStorage | ✅ 可清理 | Service Worker 缓存 |
| Cookies | ❌ 禁止清理 | 用户登录状态数据 |
| Local Storage | ❌ 禁止清理 | 本地存储数据 |
| IndexedDB | ❌ 禁止清理 | 索引数据库 |
| WebSQL | ❌ 禁止清理 | Web SQL 数据库 |
5. 清理影响评估
| 影响类别 | 影响程度 | 说明 |
|---|
| 核心功能 | 无影响 | 删除的仅为临时缓存,不影响 WebView 核心功能 |
| 登录状态 | 无影响 | 登录状态通常存储在 Cookie 或 LocalStorage 中,不会被清理 |
| 配置偏好 | 无影响 | 核心配置文件受到保护,不会被清理 |
| 首次加载性能 | 轻微影响 | 清理后首次加载页面会重新下载资源,影响短暂 |
| 存储空间 | 明显优化 | 可释放大量临时缓存占用的存储空间 |
| 隐私安全 | 有益 | 清理缓存可减少隐私数据泄露风险 |
6. 清理建议
- 定期清理:建议每 1-3 个月进行一次缓存清理,根据应用使用频率调整
- 按需清理:当应用出现性能问题或存储空间不足时,可进行临时清理
- 自动化清理:可考虑在应用启动时或后台定期自动清理临时缓存
- 选择性清理:根据实际需求,选择性清理特定类型的缓存
- 备份建议:在进行大规模清理前,建议备份核心配置文件,以防意外
7. 清理执行方式
7.1 手动清理
- 关闭所有使用 EBWebView 的应用
- 导航至 EBWebView 目录
- 根据本报告删除可安全清理的文件和文件夹
- 重新启动应用,WebView 会自动生成必要的缓存文件
7.2 代码清理
可通过 WebView API 或文件系统 API 实现自动化清理。
8. 注意事项
- 清理时机:建议在应用启动前或后台空闲时进行清理
- 权限要求:清理操作可能需要文件系统读写权限
- 跨平台差异:不同平台的 WebView 缓存结构可能存在差异,请根据实际情况调整
- 版本兼容性:不同版本的 EBWebView 可能有不同的缓存目录结构,请关注版本更新
- 测试验证:在正式环境部署清理逻辑前,建议在测试环境充分验证