1

アプリケーションクラスを拡張する静的変数がクラスにあります。これで、アプリのどこかでクラッシュが発生した場合、これらはnullになります。

はっきり言って、Applicationサブクラスでこれら2つの変数を宣言し、クラッシュが発生したときに他のJavaクラスで初期化すると、これらはnullになります。私のアプリの要件は、ログイン後にこれら2つだけを初期化する必要があります。

回答/アドバイスについて事前に感謝します

4

2 に答える 2

2

この動作は正常です。アプリケーションがクラッシュした後、すべてが「再初期化」され、static変数は初期値になります。これは、と思いますnull

アプリケーションの停止/再起動間で変数を保持したい場合(これはAndroidがアプリケーションを停止することを決定したときにも発生します)、別のストレージを使用する必要があります。を参照することをお勧めしますSharedPreferences

于 2012-06-21T11:04:01.333 に答える
1

静的変数はクラスに関連付けられており、クラスがメモリ内にある限り存続します(アプリケーションが終了するか、クラスがアンロードされると、静的変数は存在しなくなります。詳細については、これをお読みください)。したがって、アプリケーションがクラッシュすると静的変数は存在しなくなり、再び値をとして取得しますnull

これらの変数の永続的な値の保存については、を選択してSharedPreferencesください。

SharedPreferencesの詳細については、こちらをご覧ください。そして、使用する

于 2012-06-21T11:05:59.457 に答える