Table of Contents
基本的には、アプリを削除(アンインストール)すると SharedPreferences のデータも一緒に削除されます。
しかし、「削除されたはずなのに、再インストールしたらデータが復活している」というケースがよくあります。これには Android のバックアップ機能などが関係しています。
詳しい挙動と例外について整理しました。
1. 基本的な挙動SharedPreferences は、アプリ固有の「内部ストレージ」領域(サンドボックス)に XML ファイルとして保存されています。
アプリがアンインストールされると、OS はそのアプリに関連するフォルダごとデータを削除するため、端末内からデータは完全に消えます。
2. データが「残っている」ように見える理由(例外)もしアプリを再インストールした際にデータが元通りになっている場合は、以下の機能が働いています。
A. Android 自動バックアップ (Auto Backup)Android 6.0 (API 23) 以降、デフォルトの設定ではアプリのデータ(SharedPreferences を含む)が自動的に Google ドライブ にバックアップされます。
- ユーザーが同じ Google アカウントを使ってアプリを再インストールすると、システムが自動的にクラウドからデータを復元します。
- 対策: これを防ぎたい(完全に初期化したい)場合は、
AndroidManifest.xmlでバックアップを無効にする必要があります。
<application
...
android:allowBackup="false"
android:fullBackupContent="false">
B. データを保持するオプション (Android 10以降)Android 10 (API 29) 以降では、マニフェストに android:hasFragileUserData="true" を設定している場合、ユーザーがアプリをアンインストールしようとすると、システムが「アプリデータを保持しますか?」というポップアップを表示することがあります。
- ここでユーザーが「データを保持する」を選択すると、SharedPreferences などのデータは端末に残ります。
まとめ
| ケース | SharedPreferences の挙動 |
|---|---|
| 通常のアンインストール | 削除される |
| 自動バックアップ有効 (デフォルト) | 端末からは削除されるが、再インストール時にクラウドから復元される |
| Android 10+ (データ保持を選択) | 端末に残る (開発者が設定した場合のみ) |
データを永続化させたい場合もし「アプリを削除してもデータを消したくない」という意図であれば、SharedPreferences は不適切です。以下の方法を検討してください。
- 外部サーバー(データベース): アカウントに紐づけてクラウド上に保存する(Firebase など)。
- 外部ストレージ(SAF): ユーザーが管理できるフォルダ(ダウンロードフォルダなど)にファイルを書き出す。


コメント