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

安卓存储中 文件夹

安卓存储分内部(含系统核心文件/应用数据)与外部(用户文件)。/Android存系统配置,/Data存应用安装文件,/Sdcard为主 存储区,各文件夹按功能分类管理数据

安卓存储中的核心文件夹结构

内部存储(Internal Storage)

路径 用途说明
系统根目录,包含操作系统核心文件和配置
/data/data/ 应用私有存储目录,每个应用安装后生成独立文件夹(如com.tencent.mobile
/data/user/0/ 当前用户的应用数据目录(Android 8+多用户支持)
/storage/emulated/0/ 内部存储的虚拟路径(Android 10+作用变化)

外部存储(External Storage)

路径 用途说明
/sdcard/ 传统SD卡根目录(物理存储设备)
/storage/ 虚拟化外部存储入口,包含emulated(虚拟分区)和真实挂载点(如sda1
Environment.getExternalStorageDirectory().getPath() 程序获取外部存储公共目录的标准API返回路径

应用专属目录结构

路径 用途说明
/data/data/包名/ 应用私有存储空间(数据库/SharedPreferences默认存储位置)
/data/data/包名/files/ 应用内部文件存储目录(通过openFileOutput()创建)
/data/data/包名/cache/ 应用缓存目录(系统可自动清理)
/storage/emulated/0/Android/data/包名/ Android 10+应用外部存储私有目录(需申请权限)

系统关键文件夹

路径 用途说明
/Android/ 系统级配置目录
/Android/data/ 应用外部存储数据目录(需手动创建)
/Android/obb/ 扩展资源包存储位置(用于大型游戏资源)
/Android/cache/ 系统级缓存目录

存储权限演进对比表

特性 Android 9及以下 Android 10+ Scoped Storage Android 11+
外部存储访问 全局读写权限(WRITE_EXTERNAL_STORAGE) 分沙盒的app专用目录 进一步强化沙盒机制
应用私有外部存储 无概念 /sdcard/Android/data/ 同上,新增媒体扫描规则
公共目录写入 任意位置写入 仅限media等特定目录 需使用MediaStore API

常见问题与解答

问题1:Android 10+应用如何访问外部存储的下载目录?

解答

安卓存储中 文件夹

  1. 使用MediaStore.Downloads.EXTERNAL_CONTENT_URIURI操作
  2. 通过Context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS)获取应用专属下载目录
  3. 公共下载目录路径为/sdcard/Download/,但直接访问需声明MANAGE_EXTERNAL_STORAGE权限(已废弃)

问题2:为什么应用卸载后部分文件依然存在?

解答

安卓存储中 文件夹

  • 残留场景
    • 存储在/sdcard/公共目录下的文件(如Download、DCIM)
    • 使用MODE_WORLD_READABLE创建的文件
    • 通过FILE_CREATOR_ACTIVITY_PENDING临时保存的文件
  • 解决方案
    • 重要文件应存储在应用私有目录(getFilesDir())或申请持久化权限
    • 使用Context.deleteDatabase()等API清理数据库