10

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

このスレッドをGoogleグループで見つけましたが、解決できませんでした。

誰もがこれがなぜまたはどのように起こるのか、そしてそれを防ぐ方法があるかどうかについての洞察を持っていますか?

また、これは2.1および2.2デバイスで見たことがあります。一部のクラッシュだけでなく、すべてのクラッシュで発生します。

ありがとう

4

1 に答える 1

10

少し掘り下げた後、私はついに問題の原因を発見しました。私のコードのエラーにより、文字列設定がnullキーで保存されていました。そのため、クラッシュ後にプリファレンスをロードしようとしたときに、プリファレンスxmlファイルに空白があり、プリファレンスがクラッシュしてリセットされました。何らかの理由で、プリファレンスクラッシュのスタックトレースを取得できず、最初のクラッシュの直接の原因のみを取得していました。

他の誰かが将来同様の問題を抱えている場合に備えて、さらに詳細を追加するだけです。

設定が含まれているxmlファイルは、強制終了ボタンを押すまでそのまま残りました。ただし、次に共有設定にアクセスしたときに、xmlファイルがクリアされ、新たに開始されました。

于 2011-01-26T19:21:40.397 に答える