内部ストレージ、外部ストレージのデータ保存領域について調べる必要があったので
覚書としてまとめることにした。
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
http://blog.lciel.jp/blog/2014/02/08/android-about-storage/
http://qiita.com/bokkuri_orz/items/c37b2fd543458a189d4d