私はこの質問を何度もグーグルで検索し、 getBaseContext、getApplicationContext、またはアクティビティ独自のthisポインターをいつ使用するかについて、さまざまな推奨事項を見つけました。
よく出てきて、とても理にかなっているように見える 3 つのルールは次のとおりです。
- コンテキスト アクティビティへの長期参照には 、アプリケーションが存在する限りこれが存在するため、getApplicationContextを使用する必要があります。
- ライフサイクルがアクティビティにバインドされているコンテキストの場合、独自のアクティビティ コンテキスト ( this ) を使用する必要があります。
- コンテキスト ポインタを静的に保存するときは、細心の注意を払ってください (可能であれば、まったく保存しないでください)。
これらが正しいと仮定すると、getBaseContextの用途は何ですか?
を使用して新しいインテントが作成される非常に多くの例を見てきました-
Intent intent = new Intent(getBaseContext(), myClass.class);
とは対照的に -
Intent intent = new Intent(this, myClass.class);
正しい、または推奨される方法とその理由はどれですか?