存储占用分组统计与「只清可再生成的缓存」的边界设计
StorageUsageAnalyzer
StorageUsageAnalyzer 会把应用占用的存储分成若干组统计,让你看清每 MB 花在了哪里:
| 分组 | 说明 |
|---|---|
| 音频缓存 | SimpleCache + LRU 的播放缓存(可配置上限,默认 1 GB) |
| 图片缓存 | 封面等网络图片缓存 |
| 下载暂存 | 下载任务的续传与恢复凭据(下载完成后自动清理) |
| 分享暂存 | 外部分享导入时的临时文件 |
| 平台歌单缓存 | 网易云 / Bilibili / YouTube Music 歌单详情缓存 |
| 下载内容 | 用户主动下载的完整音频文件(不是缓存) |
| 日志 | 普通日志、崩溃日志、ANR trace |
| 核心应用数据 | 数据库、设置、凭据 |
清理边界设计
清缓存时最重要的设计是只清可再生成的缓存:
- ✅ 可清:音频缓存、图片缓存、暂存区、歌单缓存
- ❌ 不可清:下载内容(用户主动下载的,清了就是丢失数据)、核心应用数据
清理音频缓存不会把你主动下载的歌曲当作缓存删掉,这是两类独立存储。
分别清理
清理缓存支持分组选择:
- 只清音频缓存
- 只清图片缓存
- 只清某个暂存区
- 或者一键清所有可清缓存
这样你可以针对性清理,不会误删。
音频缓存的可配置上限
默认 1 GB,可在设置中调高或调低。缓存达到上限后 LRU(最近最少使用)会自动淘汰最旧的条目,不需要手动清理。
下载暂存的自动清理
下载暂存区包含续传凭据和未完成下载的工作文件。下载成功后这些文件会自动清理——它们只在下载过程中有意义,不需要手动介入。