2011-01-26 1 views
9

アプリが何らかの理由で強制終了されたり強制終了されたりすると、アプリのSharedPreferencesが完全にリセットされていることに気付きました。明らかに、はい、私は最初にクラッシュすることを避けるべきですが、それは起こります。それが起こった場合、ユーザーは設定で保存された設定やその他のデータをすべて失ってはいけません。アプリが強制終了またはクラッシュすると共有設定がリセットされる

私はthis thread on Google Groupsを見つけましたが、解決できませんでした。

誰にも、なぜ、どうやってこれが起こるかについての洞察があります。

また、fyi私はこれを2.1と2.2のデバイスで見ました。それは、それらの一部だけでなく、あらゆるクラッシュ時に発生します。

ありがとう

+1

設定を編集してコミットしていますか? – Falmarri

+0

彼らは通常のライフサイクルを通してうまく存続し、タスクマネージャーでアプリを閉じることさえできます。クラッシュ/強制終了時にのみリセットされるようです。 – cottonBallPaws

答えて

9

私は最終的に問題の原因を発見しました。私のコードでエラーが発生したため、文字列プリファレンスがnullキーで保存されていました。だから、クラッシュした後に設定がロードされたときに環境設定XMLファイルに空白があり、設定がクラッシュしてリセットされました。何らかの理由で、私は好みのクラッシュのスタックトレースを取得していない、最初のクラッシュの直接の原因のみ。ただ、他の場合、誰かにいくつかの詳細を追加する

は、将来的に同様の問題があります。

好みがアップに力閉じるボタンを押してそのまま滞在しているxmlファイルを。しかし、次に共有設定にアクセスしたときに、xmlファイルがクリアされ、新たに開始されました。

+1

フォローアップをありがとう。私はこれも少しだけ得た。これが私に何とかして残ったヌルキーを探すようになるまで、検出するのは簡単ではありません。 – mmeyer

+0

@littleFluffykitty:強制終了してsqliteデータもクリアされますか? – Ashwin

+0

私は同じ種類の問題を抱えていました。そして、データを格納するためにファイルを使用しました。アプリのクラッシュ時にクリア/削除されません。また、このファイルから読み込んだ後に、application onCreateにsharedprefをロードしました。 – jrhamza

関連する問題