AndroidとiOSのローカルストレージはどのくらい永続的なのですか?
質問
私のアプリが携帯電話のローカルにデータを保存する場合、その保存はどの程度永続的なのでしょうか。正確な状況を詳しく説明します。
私は、jQueryMobile と Phonegap を使用してアプリを構築しています。基本的にはブラウザ アプリですが、Phonegap を使用することにより、アプリをパッケージ化してアプリ ストアで販売できるなど、さまざまな利点があります。
Phonegapは、iOS、Android、Blackberryや他のいくつかのOSのネイティブ機能を調和させる機能である、localStorage(プリミティブなキー-値ペア)、およびWeb SQLデータベースの2通りのストレージを提供します。 localStorageもWeb SQLもブラウザに属するストレージの一形態です。とはいえ、データが保存される期間、どのような状況で削除されるか、どのような状況で利用できなくなる可能性があるか、などについてはわかりません。
例えば、アプリがlocalStorageやweb SQLでデータを保存している場合、ユーザーがAndroidで別の標準ブラウザに切り替えた場合、アプリは新しいブラウザで開かれ、保存されたデータは利用できなくなるのでしょうか?
ユーザーが 1 年間アプリを使用しなかった場合 (私の場合、これは現実的で必ずしも悪いシナリオではありません)、データはクッキーのように期限切れになっているでしょうか、あるいは、他のアプリからのデータの洪水によってブラウザーのストレージから押し出されている可能性はないでしょうか。
あるいは、次のような場合に、データはさらに早く破壊されるでしょう。 - ユーザーがブラウザーで別のサイトを訪問したとき - ブラウザが手動で閉じられたとき - ブラウザのプロセスが強制終了または停止されたとき - など
それとも、localStorage と web SQL は、(Android で)設定 > アプリに移動して、アプリに関連するユーザー データを積極的に削除する場合にのみ削除する種類のストレージですか?
どんな洞察でもありがとうございます。古い WWW には有益な情報は何もありません。
アプリのアップデートの場合はどうなるのでしょうか。ローカルとウェブのストレージは削除されるのか、それとも残るのか?
どのように解決するのですか。
ステップバイステップでお答えします。
<ブロッククオートアプリがlocalStorageまたはweb SQLでデータを保存している場合、ユーザーがAndroidの別の標準ブラウザに切り替えたとき Android で別の標準ブラウザーに切り替えた場合、アプリは新しいブラウザーで開かれるのでしょうか。 アプリは新しいブラウザで開かれ、保存されたデータは利用できなくなるのでしょうか? データは利用できないのでしょうか?
データはブラウザの「キャッシュ」(正確にはキャッシュではありません)に保存されていますので、ブラウザを変更したり、デフォルトのブラウザを削除・変更するような設定をすると、データは消えてしまいます。
ユーザーが 1 年間アプリを使用しない場合 (私の場合、これは現実的なことであり、必ずしも悪いシナリオではありません) 現実的であり、必ずしも悪いシナリオではありません)、データはクッキーのように期限切れになっているのでしょうか。 クッキーのように期限切れになっているか、あるいは、ブラウザのストレージから押し出されている可能性があります。 他のアプリからのデータの大洪水によって、ブラウザーのストレージから押し出されてしまうかもしれません。
いいえ。データは、どれだけ長い間使用されていなくても、そこに残ります。ですから、たとえブラウザのキャッシュを消去しても、データは残っています。
それとも、データはもっと早い時期に破棄されるのでしょうか。- ユーザー ブラウザで別のサイトにアクセスしたとき - ブラウザを手動で閉じたとき - ブラウザのプロセスが終了したとき - など。 ブラウザのプロセスが強制終了または停止されたとき - など
いいえ、データはちゃんと残ります :-)
<ブロッククオートそれとも、localStorageとweb SQLは、(Androidで)設定 >アプリで積極的に削除したときだけ削除するようなストレージなのでしょうか? (Android で) [設定] および [アプリ] を開き、アプリに関連付けられたユーザー データを積極的に削除するときにのみ削除されるストレージなのでしょうか? アプリに関連するユーザー データを削除するときにのみ削除されるストレージですか?
はい、データは、アプリから手動で削除するか、アプリをアンインストールした場合にのみ消去されます。他のすべてのケースでは、データは残ります。
編集 iOS の場合、デバイスのメモリが不足すると、OS がローカル ストレージ内のデータを削除します。
関連
-
[解決済み】エラー。Android SDK 内で gradle ラッパーが見つかりませんでした。Android SDKをアップデートする必要があるかもしれません。
-
[解決済み】Cordova - 現在の作業ディレクトリはCordovaベースのプロジェクトではありません。
-
[解決済み] 新しいプロジェクトでcordova.jsが見つからない
-
[解決済み] DeprecationWarningです。Tapable.pluginは非推奨です。代わりに `.hooks` の新しい API を使用してください。
-
[解決済み] ionic 2 でアイコンやボタンを大きくする方法
-
[解決済み] ionic 2 - エラー Android Studio でインストールされたバージョンの Gradle も見つかりませんでした。
-
[解決済み] ローカルストレージとCookieの比較
-
[解決済み] HTML5 ローカルストレージとセッションストレージの比較
-
[解決済み] Cordova 5.0.0: どのファイルを git にコミットするべきですか?
-
[解決済み] phonegapアプリケーションで "No Content-Security-Policy meta tag found. "というエラーが発生しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー。Android SDK 内で gradle ラッパーが見つかりませんでした。Android SDKをアップデートする必要があるかもしれません。
-
[解決済み】Cordova - 現在の作業ディレクトリはCordovaベースのプロジェクトではありません。
-
[解決済み] 新しいプロジェクトでcordova.jsが見つからない
-
[解決済み] DeprecationWarningです。Tapable.pluginは非推奨です。代わりに `.hooks` の新しい API を使用してください。
-
[解決済み] ionic 2 でアイコンやボタンを大きくする方法
-
[解決済み] ionic 2 - エラー Android Studio でインストールされたバージョンの Gradle も見つかりませんでした。
-
[解決済み] 携帯電話のギャップにおけるローカルストレージの使用
-
[解決済み] Cordova 5.0.0: どのファイルを git にコミットするべきですか?
-
[解決済み] phonegapアプリケーションで "No Content-Security-Policy meta tag found. "というエラーが発生しました。