3

PowerManager、WifiManagerなどのシステムサービスを使用しているAndroidアクティビティ/サービスがあるとします...それらのサービスマネージャーをそれぞれ取得するのではなく、コンストラクターまたはonCreateメソッドで一度これらのサービスへの参照を保持するためのプライベートメンバーを持つことは有益ですか? getSystemService(...)` を呼び出して必要になるたびに? その場合、これらのシステム サービスのいずれかがクラッシュして再起動した場合に、それらのメンバーを安全に使用できますか? それらが安全でない場合、そのようなサービス終了のケースを処理するための正しいアプローチは何ですか?

4

1 に答える 1

3

getSystemService(...)` を呼び出して必要なたびにサービス マネージャーを取得するのではなく、コンストラクターまたは onCreate メソッドでこれらのサービスへの参照を一度保持するためのプライベート メンバーを持つことは有益ですか?

もちろん!そのように入力することは少なくなります。:-)

その場合、これらのシステム サービスのいずれかがクラッシュして再起動した場合に、それらのメンバーを安全に使用できますか?

システム サービスがクラッシュした場合、ユーザーはアプリで起こるよりも大きな問題を抱えています。そうは言っても、あなたはある種のRuntimeException.

于 2013-02-24T18:02:10.457 に答える