/**
* | ($rootDir)
* +- /data -> Environment.getDataDirectory()
* | |
* | | ($appDataDir)
* | +- data/$packageName
* | |
* | | ($filesDir)
* | +- files -> Context.getFilesDir() / Context.getFileStreamPath("")
* | | |
* | | +- file1 -> Context.getFileStreamPath("file1")
* | |
* | | ($cacheDir)
* | +- cache -> Context.getCacheDir()
* | |
* | +- app_$name ->(Context.getDir(String name, int mode)
* |
* | ($rootDir)
* +- /storage/sdcard0 -> Environment.getExternalStorageDirectory()/ Environment.getExternalStoragePublicDirectory("")
* | |
* | +- dir1 -> Environment.getExternalStoragePublicDirectory("dir1")
* | |
* | | ($appDataDir)
* | +- Andorid/data/$packageName
* | |
* | | ($filesDir)
* | +- files -> Context.getExternalFilesDir("")
* | | |
* | | +- file1 -> Context.getExternalFilesDir("file1")
* | | +- Music -> Context.getExternalFilesDir(Environment.Music);
* | | +- Picture -> Context.getExternalFilesDir(Environment.Picture);
* | | +- ... -> Context.getExternalFilesDir(String type)
* | |
* | | ($cacheDir)
* | +- cache -> Context.getExternalCacheDir()
* | |
* | +- ???
*
*
* 1. 其中$appDataDir中的数据,在app卸载之后,会被系统删除。
*
* 2. $appDataDir下的$cacheDir:
* Context.getCacheDir():机身内存不足时,文件会被删除
* Context.getExternalCacheDir():空间不足时,文件不会实时被删除,可能返回空对象,Context.getExternalFilesDir("")亦同
*
* 3. 内部存储中的$appDataDir是安全的,只有本应用可访问
* 外部存储中的$appDataDir其他应用也可访问,但是$filesDir中的媒体文件,不会被当做媒体扫描出来,加到媒体库中。
*
* 4. 在内部存储中:通过 Context.getDir(String name, int mode) 可获取和 $filesDir / $cacheDir 同级的目录
* 命名规则:app_ + name,通过Mode控制目录是私有还是共享
*
*
* Context.getDir("dir1", MODE_PRIVATE):
* Context.getDir: /data/data/$packageName/app_dir1
*
*/
这是所有 android文件目录的区别。