2

アクティビティで静的オブジェクトを使用したり、アクティビティを静的に呼び出したりしないのはなぜですか?

4

2 に答える 2

3

より合理的なステートメントは、Androidで静的変数を使用する場合は非常に注意することです。

それらを使用することはできますが、アプリケーションはOSによって強制終了され、ユーザーがアプリに戻ったときに再起動される可能性があることに注意してください(つまり、最近のアプリリストから)。これにより、アプリケーションに多くの異なるエントリポイントが作成され、静的変数が初期化されるとは想定できません。

たとえば、アプリケーションの最初のアクティビティで静的変数を設定し、それが常に設定されると想定することは大きな間違いです。

また、アクティビティへの参照を持つものを静的変数として格納する場合は注意が必要です。これは、メモリを不必要に消費する一般的な原因になる傾向があるためです。たとえばView、静的変数にを格納することはほぼ間違いなく間違いです。これは、クリアされない場合、アクティビティ全体がガベージコレクションされるのを防ぐためです。

于 2012-12-10T18:23:01.560 に答える
1

メモリリークの可能性が高くなるため、静的にする必要のないものを静的にすることは避けるのが一般的な良い習慣です。一部のデータへの参照を常に保持している場合、GCはそれを解放できません。

于 2012-12-10T18:18:18.663 に答える