Android を学習するためのいくつかのチュートリアルに従っていますが、問題はすべての詳細が含まれていないことです。
具体的には、 のユースケースに光を当てることができれば素晴らしいことですgetApplicationContext()
。
Context
は、アプリケーションのリソース (res
フォルダ内のすべてのもの) および Android ランタイムへのハンドルと考えることができます。Activity
、Service
、などのクラスはApplication
から継承しContext
ます。
Activity は Context から継承するため、通常、Activity
a が必要な場合は常にcurrent を渡します。Context
getApplicationContext()
が必要な場合にアクティビティの代わりに使用する方法についても説明しますContext
。これは通常、Context を必要とするコードが Activity への参照を不必要に保持するのを防ぐためのものであり、最悪の場合、ガベージ コレクションが妨げられる可能性があります (Application
そのシナリオでは、を渡すことは実際には大きな問題ではありません。長く存在するために)。
ただし、メソッドの引数の型が である特定のシナリオがありますが、Context
実際Activity
には が必要です。使用startActivity()
は、私が信じているこの一例です(間違っている場合は修正してください)。