Android存储-内外部存储

1. 内部存储,外部存储, SD卡, TF卡的区别


这张图已经非常清楚说明了它们的关系及名称,不过我们现在只需关心Android4.4 以上即可,Android4.4 以下系统估计没人用了吧。这里再说下每个部分对应手机上的目录。

  • 外部存储:
/mnt
/storage/emulated
  • 内部存储就是
    除了外部存储剩下的就是内部存储,当然包括 /data 目录
  • SD卡:外部存储和外置 SD卡均称为 SD卡
  • TF 卡:TF卡就是外置 SD卡

2. /mnt/sdcard, /sdcard , /storage/sdcard , /storage/emulated/0 之间关系

在 Android 4.4 以上系统通过getExternalStorageDirectory 返回路径为/storage/emulated/0,对于标题中其他路径都是该路径的软链接,为什么呢?主要还是历史原因,以前由于一些原因外置存储是在其他目录上的,为了考虑兼容性,故现在系统采用将其他目录连接在最新采用的/storage/emulated/0 目录上。

3. 如何访问扩展SD卡?

扩展SD卡及U盘等可作为外部存储设备均为挂载设备,可以在/mnt目录下找到,在Android8.1 上,插入 SD 后目录如下,本人经搜索发现只有该处访问路径。

/mnt/media_rw

访问外部存储代码

File[] files;
files = getExternalFilesDirs(Environment.MEDIA_MOUNTED);
    for(File file:files){
    }
}

参考

  • 彻底搞懂Android文件存储---内部存储,外部存储以及各种存储路径解惑
  • https://blog.csdn.net/ITermeng/article/details/79423035

你可能感兴趣的:(Android存储-内外部存储)