开始使用存储重定向 - MaterialCleaner/MaterialCleaner GitHub Wiki

您可以在安卓开发者文档中找到与存储空间相关的各种名词的解释。

初始配置

新用户可以先应用模板到所有有需要的第三方应用(当然您也可以使用别人分享的规则),默认的模板会将应用对共享存储空间的访问重定向到它们的外部缓存。如果您使用的部分应用会在共享存储空间保存有用的数据(如地图应用可能保存离线地图、翻译应用可能保存离线词典),则需要打开对应应用的设置,打开应用会在共享存储空间保存有用的数据选项,如下图所示。稍后,您还需要手动迁移这些应用保存的文件,或者在这些应用中重新下载,这些操作无法由 Cleaner 自动完成。

1

这样,初始配置就完成了。

还有什么?

完成初始配置之后,您会发现所有的应用都无法使用共享存储空间,这看起来不对劲。那么问题来了,什么情况下应用需要使用共享存储空间?

这个问题应该分成两部分来考虑,首先是哪些文件应该存放在共享存储空间?根据安卓开发者文档,共享存储空间存放的是媒体内容和文档等用户知道且容易共享的文件,在初始配置中提到的离线地图、离线词典文件通常只有保存这些文件的应用可以打开,所以这些文件应该保存在对应应用的专属存储空间而不是共享存储空间。

第二部分是应用经常读取共享存储空间中的哪些文件?主要有媒体文件和用户选择的文件。

值得一提的是,存储重定向主要限制应用使用路径来访问文件。安卓系统提供了一系列使用 Uri 来访问文件的方式,它们不会受到存储重定向影响。

对媒体文件的优化

安卓系统提供了媒体存储用来方便应用快速检索设备中的媒体文件,当您授予 Cleaner 足够的权限之后(安装 Zygisk 模块),Cleaner 就能够知道这样的行为发生,并在存储重定向妨碍应用与媒体存储交互时弹出提示。

2 3