私の主な活動では、いくつかの設定を読みます
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context);
fontSize = settings.getFloat("textsize", (float) 20);
userName = settings.getString("userName","");
}
他のさまざまなサブアクティビティで、これらの変数を次のように参照します
body.setTextSize(Main.fontSize);
ほとんどの場合、これで問題なく動作します。アプリをしばらく実行した後に再起動すると、すべての構成変数が空のように見えることがあります。デバッグ時に不安定で再現が困難です。それが発生した場合、終了するまですべての古い画面を繰り返しヒットし、再起動すると、設定が戻って機能します
onStart() や onRestart() などの別の場所にランダムに移動してみることができましたが、これまでのところ役に立ちませんでした。または、すべてのアクティビティをやり直して、開始時に共有設定を再読み込みします。しかし、この問題の原因となっている間違ったライフサイクルについて理解したいと思います。