Android には、データ ストレージ用の次のオプションが用意されています。
共有設定- プライベート プリミティブ データをキーと値のペアで保存します。
内部ストレージ- デバイスのメモリにプライベート データを保存します。
外部ストレージ- 公開データを共有外部ストレージに保存します。
SQLite データベース- 構造化データをプライベート データベースに保存します。
キャッシュ- アプリケーションの実行中にデータをキャッシュします。 (スペース不足でクリアされる場合があります)
私が疑問に思っていたのは、これらのストレージの寿命です。
- アプリケーションの終了時にクリアされるストレージ (明らかにキャッシュ)
- アプリケーションの再インストール時に消去されるストレージ
- アプリケーションの更新時に消去されるストレージ
- アプリケーションのアンインストール時に消去されるストレージ
- アプリケーションクリアデータでクリアされるストレージ
- モバイルの出荷時設定へのリセットでクリアされるストレージ
- Rom のアップグレード/変更時にどのストレージがクリアされるか
この質問の延長として、どのストレージを使用すると、データが失われたり、権限のないリソース(root の場合はユーザー、アプリケーション)によるアクセスから保護されたりするかということがわかります。