smilevchy
6/10/2015 - 2:12 PM

All kinds of directories

All kinds of directories

  • Environment.getExternalStoragePublicDirectory(“test”) = /mnt/sdcard/test
  • Environment.getRootDirectory() = /system
  • getPackageCodePath() = /data/app/com.my.app-1.apk
  • getPackageResourcePath() = /data/app/com.my.app-1.apk
  • getCacheDir() = /data/data/com.my.app/cache
  • getDatabasePath(“test”) = /data/data/com.my.app/databases/test
  • getDir(“test”, Context.MODE_PRIVATE) = /data/data/com.my.app/app_test
  • getExternalCacheDir() = /mnt/sdcard/Android/data/com.my.app/cache
  • getExternalFilesDir(“test”) = /mnt/sdcard/Android/data/com.my.app/files/test
  • getExternalFilesDir(null) = /mnt/sdcard/Android/data/com.my.app/files
  • getFilesDir() = /data/data/com.my.app/files

App 存放数据时可选择放在 /data/data/package name/ 下,可选择放在扩展卡下的 Android/data/package name/ 下,也可选择在扩展卡根目录下直接建立文件夹。

注:扩展卡下的 Android/data/package name/ 文件夹读写在 4.4 及以后不需要申请外置存储区读写权限

/data/data/package name/: 分区有权限控制,除非应用自己同意,否则其他应用无法读取其内部的数据。一般放私密信息。App 被卸载时文件夹会被删除

扩展卡下的 Android/data/package name/: 只要有外置空间读取权限就可以读取。放可以公开的缓存数据。App 被卸载时文件夹会被删除

扩展卡根目录建立的文件夹: 可以方便的多应用共享。App 被卸载时文件夹不会被卸载,因此容易变成垃圾数据,占用扩展卡空间。