内部存储
final Directory tmpextDir = await getApplicationDocumentsDirectory();// 测试输出:tmpextDir--path:/data/user/0/com.niu.h2/app_flutter
内部存储位于系统中很特殊的一个位置,对于设备中每一个安装的 App,系统都会在data/data/packagename/xxx 自动创建与之对应的文件夹。如果你想将文件存储于内部存储中,那么文件默认只能被你的应用访问到,且一个应用所创建的所有文件都在和应用包名相同的目录下。也就是说应用创建于内部存储的文件,与这个应用是关联起来的。当一个应用卸载之后,内部存储中的这些文件也被删除。对于这个内部目录,用户是无法访问的,除非获取root权限。
/data/user/0/xxx包名/,(>=6.0)
/data/data/xxx包名/,(<6.0)
外部存储
final Directory extDir = await getExternalStorageDirectory();// 测试输出:extDir--path:/storage/emulated/0/Android/data/com.niu.h2/files
在Android4.4以后的话,就目前而言,现在的手机自带的存储就很大,现在Android10.0的话,有的手机能达到256G的存储,针对于这种情况,手机机身自带的存储也是外部存储,如果再插入SD卡的话也叫外部存储,因此对于外部存储分为两部分:SD卡和扩展卡内存。
机身自带的外部存储目录,路径为:/storage/emulated/0/Android/data/packagename/files
存储卡的目录结构,路径为:/storage/extSdCard/Android/data/packagename/files
