所有Android设备都有两个文件存储区域:内部存储空间和外部存储空间,这些名称是在Android早期确定,那时大部分设备都提供内置的非易失性内存 (内部存储空间)以及可移动存储媒介 (如Micro SD卡,提供外部存储空间),现在很多设备将永久性存储空间划分为单独的“内部”和“外部”分区,因此,即使没有可移动存储媒介,这两种存储空间也始终存在

1. 内部存储路径
    指的是  data/user/0/xxx(或data/data/xxx)        //--  /data/user/0/com.xxx.xxx/files        String str2 = getFilesDir().getAbsolutePath();        //--  /data/user/0/com.xxx.xxx/cache        String str3 = getCacheDir().getAbsolutePath();        //--  /data        String str1 = Environment.getDataDirectory().getAbsolutePath();     附录            //保存至内部存储的文件是应用私有文件,除非有Root访问权限否则其他应用、用户不能访问这些文件,        //当用户卸载您的应用时,保存在内部存储中的文件也将随之移除    
2. 虚拟外部存储路径(又被称为内部共享存储空间)
    指的是  sdcard(或/storage/emulated/0) ,sdcard实际路径如下:        lrw-r--r-- 1 root root 21 2008-12-31 11:00 sdcard -> /storage/self/primary        lrwxrwxrwx 1 root root 19 2020-01-04 03:23 /storage/self/primary -> /mnt/user/0/primary        lrwxrwxrwx 1 root reserved_disk 19 2020-01-04 03:24 /mnt/user/0/primary -> /storage/emulated/0    mount 信息如下:        /dev/block/dm-0 on /data type ext4        /data/media on /storage/emulated type sdcardfs        tmpfs on /storage type tmpfs    附录        //-- /storage/emulated/0/Android/data/com.xxx.xxx/files/        //-- /storage/0000-006F/Android/data        File[] str5 = getExternalFilesDirs("");        //-- /storage/emulated/0        String str6 = Environment.getExternalStorageDirectory().getAbsolutePath();        //-- /storage/emulated/0        String str7 = Environment.getExternalStoragePublicDirectory("").getAbsolutePath();        //-- /storage/emulated/0/Android/data/com.xxx.xxx/files         //-- 应用特定目录的外部存储中,当用户卸载您的应用时,系统会删除该目录        String str4 = getExternalFilesDir("").getAbsolutePath();
3. 真实外部存储路径
    指的是 /storage/0000-006F等    插入外置SD卡后 mount 信息如下:        /dev/block/dm-0 on /data type ext4        /data/media on /storage/emulated type sdcardfs        /mnt/media_rw/0000-006F on /storage/0000-006F type sdcardfs        tmpfs on /storage type tmpfs    附录        //-- /storage/emulated/0/Android/data/com.xxx.xxx/files/        //-- /storage/0000-006F/Android/data        File[] str5 = getExternalFilesDirs("");
4. MediaProvider的internal.db与external.db
      MediaProvider internal.db对应的是 /system/media中数据信息      MediaProvider external.db对应的是 /sdcard中数据信息

更多相关文章

  1. [日更-2019.5.21] Android(安卓)系统的分区和文件系统(一)--Androi
  2. android上传文件至服务器(android端+服务器端)
  3. Android旋转本地图片并保存
  4. Android下编译自己的库文件jar并在应用中调用
  5. 破解android锁屏密码
  6. android开发 加载so库的解析和出现的各种错误分析
  7. 在android 4.0 上面移植camera的一些心得 包括 单双camera 型号
  8. 集成Android免费语音合成功能(在线、离线、离在线融合),有这一篇文
  9. 跟我学Android应用开发 之 Android中资源文件的使用

随机推荐

  1. Android 的 Recovery 模式分析
  2. doubango tinyDEMO 编译
  3. Android中关于Audio库的知识
  4. android实现点击空白处,软键盘消失事件
  5. Android进程间通信(IPC)
  6. 2011.07.01——— android GridView 长按
  7. Android - ToDoList 详解
  8. Android布局动画之animateLayoutChanges
  9. Android(安卓)自定义Application
  10. Android(安卓)SlidingMenu实现沉浸式状态