5

Android には、データ ストレージ用の次のオプションが用意されています。

共有設定- プライベート プリミティブ データをキーと値のペアで保存します。

内部ストレージ- デバイスのメモリにプライベート データを保存します。

外部ストレージ- 公開データを共有外部ストレージに保存します。

SQLite データベース- 構造化データをプライベート データベースに保存します。

キャッシュ- アプリケーションの実行中にデータをキャッシュします。 (スペース不足でクリアされる場合があります)

私が疑問に思っていたのは、これらのストレージの寿命です。

  1. アプリケーションの終了時にクリアされるストレージ (明らかにキャッシュ)
  2. アプリケーションの再インストール時に消去されるストレージ
  3. アプリケーションの更新時に消去されるストレージ
  4. アプリケーションのアンインストール時に消去されるストレージ
  5. アプリケーションクリアデータでクリアされるストレージ
  6. モバイルの出荷時設定へのリセットでクリアされるストレージ
  7. Rom のアップグレード/変更時にどのストレージがクリアされるか

この質問の延長として、どのストレージを使用すると、データが失われたり、権限のないリソース(root の場合はユーザー、アプリケーション)によるアクセスから保護されたりするかということがわかります。

4

3 に答える 3

5

アプリケーションの終了時にクリアされるストレージ (明らかにキャッシュ)

キャッシュ

アプリケーションの再インストール時に消去されるストレージ

キャッシュ

アプリケーションの更新時に消去されるストレージ

キャッシュ

アプリケーションのアンインストール時に消去されるストレージ

キャッシュ、SQLite、共有設定

アプリケーションクリアデータでクリアされるストレージ

キャッシュ、SQLite、共有設定

モバイルの出荷時設定へのリセットでクリアされるストレージ

すべて消去しますが、外部ストレージのデータは消去しません

この質問の延長として、どのストレージを使用すると、データが失われたり、権限のないリソース (root の場合はユーザー、アプリケーション) によるアクセスから保護されたりするかということがわかります。

暗号化された形式で SQLite にデータを格納するのが最善です。デバイスがルート化されている場合は、SQLite にもアクセスできることを意味します。

于 2014-03-03T14:57:40.893 に答える