Unity,Androidのデータ保存領域まとめ

内部ストレージ、外部ストレージのデータ保存領域について調べる必要があったので
覚書としてまとめることにした。

Unity

パス取得変数 環境 領域 取得パス
Application.dataPath Android
アプリが本体に所在
/data/app/<アプリのID>.apk
Android
アプリがSDカードに所在
/mnt/asec/<アプリのID>/pkg.apk
iOS /var/mobile/Applications
/XXXXXXXX-XXXX-XXXX-XXXX
-XXXXXXXXXXXX/myappname.app/Data
Application.persistentDataPath Android
アプリが本体に所在
内部データ /data/data
/<アプリのID>/files/
Android
アプリがSDカードに所在
外部データ /mnt/sdcard/Android/data
/<アプリのID>/files/
iOS 内部データ /var/mobile/Applications
/XXXXXXXX-XXXX-XXXX-XXXX
-XXXXXXXXXXXX/Documents
Application.temporaryCachePath Android
アプリが本体に所在
内部キャッシュ /data/data
/<アプリのID>/cache/
Android
アプリがSDカードに所在
外部キャッシュ /mnt/sdcard/Android/data
/<アプリのID>/cache/
iOS 内部キャッシュ /var/mobile/Applications
/XXXXXXXX-XXXX-XXXX-XXXX
-XXXXXXXXXXXX/Library/Caches



Androidネイティブ

環境:Nexus7(2013)/Android4.4.2

パス取得メソッド 領域 アプリの
専用領域か
ユーザへの
アクセス許可
データ削除
の方法
アプリ
削除時に
取得パス
Context.getFilesDir() 内部データ × データ消去 消える /data/data
/<アプリのID>/files
Context.getCacheDir() 内部キャッシュ × キャッシュ消去 消える /data/data
/<アプリのID>/cache
Context.getExternalFilesDir() 外部データ データ消去 消える /storage/emulated/0/Android/data
/<アプリのID>/files
Context.getExternalCacheDir() 外部キャッシュ キャッシュ消去 消える /storage/emulated/0/Android/data
/<アプリのID>/cache
Environment.
getExternalStorageDirectory()
外部公開 × 提供なし 消えない /storage/emulated/0
Environment.
getExternalStoragePublicDirectory()
外部公開共有 × 提供なし 消えない /storage/emulated/0/DCIM

参考サイト
http://blog.lciel.jp/blog/2014/02/08/android-about-storage/
http://qiita.com/bokkuri_orz/items/c37b2fd543458a189d4d