下载目录的自定义选择(SAF)与切换时的整批迁移
默认行为
下载文件默认保存在应用的内部管理目录,由 Android 系统自动管理。这个目录不需要额外权限,删除应用时会一并清理。
选择自定义目录
通过 SAF(Storage Access Framework)可以选择任何目录作为新的下载目录:
- 系统会弹出目录选择器
- 选定后应用获得该目录的读写持久权限
- 之后所有下载都会落到新目录
切换目录时的迁移
切换下载目录不是"改个路径"——应用会自动迁移已有的全部下载文件到新目录,包括:
- 已下载的音频文件
- 配套的歌词和封面 sidecar
- 下载元数据和索引
迁移完成后旧目录会被清空。
自定义文件名模板
自定义目录下可以使用文件名模板,例如:
{artist} - {title}→ 「周杰伦 - 稻香」{album}/{artist} - {title}→ 「范特西/周杰伦 - 稻香」
模板会对新下载的歌曲生效,已下载的文件不会重命名。
性能注意
出于性能考虑,不建议频繁切换到 SAF 目录。每次切换目录都会触发整批文件迁移,涉及大量文件复制操作。如果需要持久使用自定义目录,建议一次选好后不再改动。
与应用更新的兼容性
自定义目录的选择会被持久化保存,卸载重装应用后需要重新授权 SAF 目录权限。
- [下载任务与恢复]${1}04-download-resume.md${2}