根路径 | 取外部存储空间根目录() | /sdcard/
/storage/emulated/0
更多路径名……
| 强烈建议使用方法来获取存储卡路径!!!
存储卡根路径,打开文件管理器看到的就是这个路径。
权限情况:
1、谷歌规定从安卓6.0开始,访问此目录需要动态申请权限。例子
2、从安卓10开始,谷歌收紧权限,禁止软件访问根目录,规范根目录存储内容,防止软件滥用权限存储垃圾文件,造成存储空间变小,因为存储在这里的文件软件卸载后不会随之删除。
这也是以前安卓越用存储空间越小的元凶之一,及时卸载软件,软件生成的垃圾软件依然存在。
|
外部私有缓存 | 取外部私有缓存目录 () | 根路径/Android/data/当前软件包名/cache | 本路径依然位于存储卡路径下,只是权限是单独的权限,作为软件外部的一个私有缓存空间。
本路径顾名思义,存放缓存数据,很多软件的清理缓存功能,实际上就是删除此目录的内容,包括系统清理垃圾,也是扫描本目录是否有内容,从而进行删除。
权限情况:
1、自己软件访问自己的缓存路径,不需要任何权限即可访问。
2、访问其它软件的缓存路径,安卓6.0-安卓10.0需要动态申请存储卡权限。
3、安卓10开始,谷歌宣布禁止软件只能将数据存放在私有目录,但是不强制,给众多软件厂一个喘息的机会。
4、安卓11开始,谷歌强烈禁止软件只能将数据存放在私有目录(依然不强制),进一步增加数据隐私和安全,并且同时收紧权限禁止软件直接相互访问私有目录。
(升级安卓11的可以看看自己的文件管理器,会发现/Android/data/无法访问,会跳转到安卓内部的一个文件管理器框架访问)
虽然禁止访问其它软件的私有目录,但是也并不是完全禁止,还是留了一个权限接口提供一些特殊的访问需求,官方库暂无访问方法第三方库源码例子
|
外部私有数据 | 取外部私有数据子目录 ("") | 根路径/Android/data/当前软件包名/files | 本路径依然位于存储卡路径下,只是权限是单独的权限,作为软件外部的一个私有数据空间。
各种软件的视频缓存之类的,基本都是放到了这些目录下。凡是软件的数据都可以塞到这个目录下,安卓10开始谷歌强烈建议所有软件厂商都把数据放到这个目录下。
优点是:软件卸载,就卸载的干干净净,不留任何文件。
缺点是:软件卸载本地数据全部删除。
权限情况同上。。 |
内部私有缓存 | 取内部私有缓存目录 () | /data/data/当前软件包名/cache | 内部数据,位于安卓系统内部,需要root后才可以在文件管理器中看见数据。
缓存路径:存放缓存数据,系统清理垃圾时,都会扫描此目录。
优点:隐私性极强,需要root才能访问。
缺点:需要root才可以访问。
|
内部私有数据 | 取内部私有数据目录 () | /data/data/当前软件包名/files | 内部数据,位于安卓系统内部,需要root后才可以在文件管理器中看见数据。
数据路径:存放重要的隐私数据,比如:QQ聊天记录,微信记录,账号登陆信息等,全部都存储在这个目录中。如果你的软件需要保存账号密码数据,也可以存在这个地方。
优点:隐私性极强,需要root才能访问。
缺点:需要root才可以访问。
|