私が学んでいるKotlin
と私はすでに、さまざまな方法でコンテキストを数回埋めるために持っていた、のようなthis
、context.application
、requireContext()
など
チュートリアルでコピーする代わりに、自分でどのコンテキストを使用するかを理解できる方法があるかどうか疑問に思っています。
Androidには主に2種類のコンテキストがあり、どちらもContextWrapperクラスオブジェクトとして提供されます。
このコンテキストは基本的に、ビュー/ UI操作を伴わない作業を行う必要がある場合(UIコードを参照/依存する必要がない場合)に提供/使用されます。
これは、たとえば、コンテンツプロバイダーを介して連絡先のリストを取得するなど、UIの操作を必要としないプロセスを介して直接操作を行う場合に最も役立ちます。
したがって、これをアプリケーションで持つことができる他のすべてのコンテキストの親と見なすことができ、明らかにこれは特定のプロセスで一貫しています。
このコンテキストは、アプリのApplicationクラスを介して、または(activity.applicationContext
)のようにリクエストすることで他のアクティビティを介して取得されます。
このコンテキストは基本的に、現在行っている特定のアクティビティに制限されています。これは主にUI操作を行うのに役立ちます。これは、コンテキストが現在使用しているのと同じUIの一部であるためです。
したがって、はい、これはアクティビティの変化に応じて変化する可能性のある子コンテキストと見なすことができます。ほとんどの場合、メモリリークが発生する可能性があるため、このコンテキストをUI /アクティビティ間で保存および共有することはお勧めしません。
あなたが経由で任意のアクティビティクラスにしていると、このコンテキストを取得することができます(Activity.this
、this
、context
断片&カスタムビューで)
私は個人的に、コンテキストが最初からAndroidのトピックを混乱させてきたことに同意しますが、C / C ++を知っている場合は、これを「ポインター」に関連付けることができます(概念的に)。コンテキストは、特定のアクティビティ/アプリケーションクラスへのポインタです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加