3

Android を学習するためのいくつかのチュートリアルに従っていますが、問題はすべての詳細が含まれていないことです。

具体的には、 のユースケースに光を当てることができれば素晴らしいことですgetApplicationContext()

4

1 に答える 1

3

Contextは、アプリケーションのリソース (resフォルダ内のすべてのもの) および Android ランタイムへのハンドルと考えることができます。ActivityService、などのクラスはApplicationから継承しContextます。

Activity は Context から継承するため、通常、Activitya が必要な場合は常にcurrent を渡します。Context

getApplicationContext()が必要な場合にアクティビティの代わりに使用する方法についても説明しますContext。これは通常、Context を必要とするコードが Activity への参照を不必要に保持するのを防ぐためのものであり、最悪の場合、ガベージ コレクションが妨げられる可能性があります (Applicationそのシナリオでは、を渡すことは実際には大きな問題ではありません。長く存在するために)。

ただし、メソッドの引数の型が である特定のシナリオがありますが、Context実際Activityには が必要です。使用startActivity()は、私が信じているこの一例です(間違っている場合は修正してください)。

于 2012-08-06T16:05:20.970 に答える