android 的外部存储的挂载的理解

我们大多数情况下操纵的是外部存储,而外部存储都是通过挂载到根目录来让系统对外部存储进行链接的,下面一小队就是对挂在的理解

首先,不同机型的挂载路径可能会有些许的差别,请记住,不同的版本,不同的厂商,不同的机型可能会有些许差别,要自己去兼容

下面是常见的几种,但殊途同归,但这样会给我们在获取内外置sd卡上造成很大的麻烦,很无语,至于怎样去获取内外置存储卡请移步。。

  • /mnt/sdcard0, /mnt/sdcard1, /mnt/sdcard2
  • /mnt/sdcard-ext, /mnt/ext_sdcard, /mnt/sdcard/ext_sd
  • /mnt/sdcard/extra_sd, /mnt/extrasd_bind, /mnt/sdcard/external_SD
  • /storage/sdcard0/storage/sdcard1,/storage/extSdCar

/sdcard : /mnt/sdcard的符号链,是一个软链接(就是快捷方式),链接到/mnt/sdcard下,也可以查看sdcard的内容。

/mnt/sdcard(<4.0):毫无疑问,sd卡的挂载点,将外部设备挂载在这个目录下。

/storage/sdcard(>4.1):那这个是什么鬼,另外里面还有一个emulated的文件夹。

android 升级到4.2以后,采用的是fuse技术,外部设备会被挂载到/storage/emulated/0这个目录下,而不是传统的/mnt/sdcard上,但为了兼容以前的版本,

同时挂载到 /storage/emulated/legacy,还建立三个软连接(快捷方式) /storage/sdcard0 ,/sdcard,/mnt/sdcard ,都指向 /storage/emulated/legacy这个挂载点。也就是

说文件夹0和legacy指向的地址是一致的。4.1为/storage/usStorage/0,

注意:Environment.getExternalStorageDirectory()方法有时是获取到的是内置内存卡,有时获取的是外置内存卡,具体请参看

下面插入的这幅图是eclipse File Explore 下挂载点的信息,看info(指向信息),(华为手机荣耀3c),不同的机型挂载点会有不同。

/mnt/shell/emulated据说是为了多用户设计的,但这几个那个是挂载点,那个是软连接?不知道,求指教,万分感谢。



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值