回答:
getApplicationContext()アプリケーションコンテキストはアプリケーションに関連付けられており、ライフサイクル全体を通じて常に同じです。
getBasecontext()は使用しないでください。アクティビティに関連付けられており、アクティビティが破棄されると破棄される可能性があるコンテキストではなく、コンテキストを使用してください。
getApplication()は、アクティビティとサービスでのみ使用できます。現在のAndroidアクティビティとサービスの実装では、getApplication()とgetApplicationContext()は同じオブジェクトを返しますが、これが常に当てはまるという保証はありません(たとえば、特定のベンダーの実装で)。したがって、マニフェストに登録したApplicationクラスが必要な場合は、getApplicationContext()を呼び出してアプリケーションにキャストしないでください。これは、アプリケーションインスタンスではない可能性があるためです(これは、テストフレームワークで明らかに発生したものです)。
getParent()は、現在のビューが子の場合、アクティビティのオブジェクトを返します。つまり、子内で呼び出されると、子ビューをホストするアクティビティオブジェクトを返します。