Android 存储进化:分区存储

  1. 应用私有目录:存储应用私有数据,外部存储应用私有目录对应Android/data/包名

  2. 共享目录:存储其他应用可访问文件, 包含媒体文件、文档文件以及其他文件,对应设备DCIM、Pictures、Alarms, Music, Notifications,Podcasts, Ringtones、Movies、Download等目录。

[](()2.2.1 应用私有空间

与以往相同的是,访问自身的外部存储下的应用私有空间是不需要任何权限的。与内部一样,也有一个目录专为应用的持久性文件而设计,和另一个目录包含应用的缓存文件。也是可以正常使用File相关api的,所以只要取得路径便可自由发挥。

需要注意的不同点是:开启了分区存储特性后,应用只能访问自身的私有空间,即使获得了存储权限,也无法访问其他应用的私有空间

另外与内部空间的区别是,外部存储空间可能被移除也可能有多个,所以返回的是一个数组,对于返回数组中的第一个元素被视为主外部存储卷。除非该卷已满或不可用,否则请使用该卷。

  1. 持久性文件:getExternalFilesDirs(@NonNull Context context, @Nullable String type),type根据文件类型可传[系统预定义的子目录常量]((),如图片Environment.DIRECTORY_PICTURES,此时返回/storage/emulated/0/Android/data/包名/files/Pictures。或者传null直接返回/storage/emulated/0/Android/data/包名/files

  2. 缓存性文件:ContextCompat.getExternalCacheDirs(context)/storage/emulated/0/Android/data/包名/cache

注意:卸载app后,系统会自动移除这些目录释放空间!!

[](()三 共享存储空间的影响

=========================================================================

如果用户数据可供或应可供其他应用访问,并且即使在用户卸载应用后也可对其进行保存,请使用共享存储空间。

共享文件类型,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值