当前位置:首页 > 行业动态 > 正文

安卓存储结构图

安卓存储结构图解析

内部存储(Internal Storage)

路径 说明 访问权限
/data/data/<package_name> 应用私有目录,存储应用数据库、SharedPreferences、文件等 仅限本应用访问
/data/data/<package_name>/cache 应用缓存目录,系统可自动清理 仅限本应用访问
/data/data/<package_name>/files 应用内部文件存储目录(通过openFileOutput写入) 仅限本应用访问
/data/data/<package_name>/databases 应用数据库文件存储目录 仅限本应用访问
/data/data/<package_name>/shared_prefs 应用SharedPreferences文件存储目录 仅限本应用访问

外部存储(External Storage)

路径 说明 访问权限
/storage/emulated/0 虚拟外部存储根目录(兼容旧设备/mnt/sdcard READ_EXTERNAL_STORAGE/WRITE_EXTERNAL_STORAGE权限(Android Q+需特殊处理)
/storage/emulated/0/Android 系统保留目录,包含data(应用专属目录)和obb(扩展资源包) 仅限系统和应用自身访问
/storage/emulated/0/Pictures 公共图片目录 需存储权限
/storage/emulated/0/Downloads 下载文件目录 需存储权限
/storage/emulated/0/DCIM 相机拍摄图片/视频目录 需存储权限

系统目录

路径 说明 访问权限
/system 系统核心文件(ROM) 仅Root或系统进程可写
/vendor 厂商定制文件(SoC驱动等) 仅Root或系统进程可写
/proc 进程信息虚拟文件系统 只读
/sys 内核参数配置接口 只读
/dev 设备文件目录 仅限系统进程访问

特殊用途目录

路径 说明 访问权限
/cache 系统级缓存目录(如APK安装包临时存储) 仅限系统进程写入
/etc 系统配置文件 只读
/sbin 系统工具(如恢复模式相关) 仅限Root执行

相关问题与解答

Q1:Android Q(API 29)后如何访问外部存储的共享目录?
A1:Android Q引入Scoped Storage,应用默认只能访问自己的外部存储空间(/storage/emulated/0/Android/data/<package_name>),若需访问公共目录(如Downloads),需:

安卓存储结构图

  1. AndroidManifest.xml中声明MANAGE_EXTERNAL_STORAGE权限(需用户手动授权);
  2. 或使用Storage Access Framework(如Intent.ACTION_OPEN_DOCUMENT_TREE)获取文件URI。

Q2:应用如何存储临时文件以避免被系统清理?
A2:

安卓存储结构图

  • 内部存储缓存:使用getCacheDir()获取路径(/data/data/<package>/cache),系统卸载应用时会自动删除;
  • 外部存储缓存:写入/storage/emulated/0/Android/data/<package>/cache,需声明WRITE_EXTERNAL_STORAGE权限;
  • 注意事项
    • 不要将重要文件存入缓存目录;
    • Android系统可能会在存储空间不足时清理