【Android 文件管理】应用可访问的存储空间 ( 存储空间分类 | 存储空间访问权限 | 分区存储 )

举报
韩曙亮 发表于 2022/01/10 23:32:53 2022/01/10
【摘要】 文章目录 一、存储空间分类二、存储空间访问权限三、分区存储四、相关文档资料 一、存储空间分类 在 Android ...





一、存储空间分类



Android 9 9 9( API 级别 28 28 28 ) 及以下版本中 , Android 文件存储空间分为两类 ,

  • 内部存储空间
  • 外部存储空间

内部存储空间的可靠性高于外部存储空间 ;


Android 10 10 10( API 级别 29 29 29 ) 及以上版本中 , 应用只能访问应用的 专属存储空间 和 共享存储 中的文件 , 不能方位外置存储空间的其它文件了 ;

专属存储空间指的是 应用内部存储空间 和 外置存储中分配给应用的专属目录 ;

应用内部存储空间 放置保密性较高 , 体积较小的文件 ;

共享存储 指的是本应用与其它应用共享的存储空间 , 包括媒体 , 文档 , 下载 等目录 ;





二、存储空间访问权限



内部存储空间访问不需要权限 ;

Android 9 9 9( API 级别 28 28 28 ) 及以下版本中 访问外部存储需要使用 READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE 权限 ;

Android 10 10 10( API 级别 29 29 29 ) 及以上版本中 , 只能方位特定的目录 , 如应用专属目录 , 公共目录 , 不需要权限 , 其它外置存储空间的目录 , 无法访问 ;





三、分区存储



Android 9 9 9( API 级别 28 28 28 ) 及以下版本中 , 开发者可以任意在外置存储目录中创建文件 , 进行任何读写操作 , 并不会很规范的管理外置存储目录中的文件 , 卸载后 , 还遗留大量垃圾文件在外置存储空间中 ;
( 说的就是我 o( ̄︶ ̄)o ) ;


在 Android 10 中开始引入分区存储 , 以后外置的存储空间不能随便乱用了 , 在外置存储空间中写入文件 , 卸载后系统会帮你删除相关文件 ;


关于分区存储 :

  • 目标平台为 Android 9 9 9( API 级别 28 28 28 ) 及以下版本 , 不会启用分区存储 ;

  • 目标平台为 Android 10 10 10( API 级别 29 29 29 ) 及以上版本 , 会自动开启分区存储 , 这时候需要进行兼容开发 ;

一旦启用了分区存储 , 就无法访问 SD 卡中创建的目录或文件 , 只能访问外部存储空间的应用专属目录 和 公共目录 ;

目标平台指的是在 Android 工程中 Module 下的 build.gradle 中配置的 targetSdkVersion 参数 ;


本博客中暂时不引入分区存储 ;





四、相关文档资料



Android 文件处理参考文档 :

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/114633515

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200