についての混乱私はAndroidに新しいです...コンテキスト
私は時々私は混乱して作るcontext
クラスに直面しなければならない最大時間。それはcontext
を使用する一部の場所で 、 どこかでそれはgetApplicationContext()
、getContext()
、getBaseContext()
によって呼び出されます。
http://www.developer.android.com/このサイトからわかりましたが、理解しづらいものでした。
についての混乱私はAndroidに新しいです...コンテキスト
私は時々私は混乱して作るcontext
クラスに直面しなければならない最大時間。それはcontext
を使用する一部の場所で 、 どこかでそれはgetApplicationContext()
、getContext()
、getBaseContext()
によって呼び出されます。
http://www.developer.android.com/このサイトからわかりましたが、理解しづらいものでした。
Androidでは、コンテキストは多くの操作で使用されますが、主にリソースの読み込みとアクセスに使用されます。これは、すべてのウィジェットがコンストラクターでContextパラメーターを受け取る理由です。通常のAndroidアプリケーションでは、通常、コンテキスト、アクティビティ、アプリケーションの2種類があります。これは通常、開発者がコンテキストを必要とするクラスとメソッドに渡す最初のものです。
getApplicationContext()、getContext()、getBaseContext()またはthis(アクティビティクラスの場合)を呼び出すことによってコンテキストを取得できます。コンテキストの
典型的な用途:
は、新しいオブジェクトの作成:新しいビューを作成し、アダプターを、リスナー:
のTextViewテレビ=新しいのTextView(のgetContext()); Listアダプタアダプタ=新しいSimpleCursorAdapter(getApplicationContext()、...);
標準の共通リソースへのアクセス: LAYOUT_INFLATER_SERVICEのようなサービス、SharedPreferences:
context.getSystemService(LAYOUT_INFLATER_SERVICE)
getApplicationContext()getSharedPreferences(名、モード)。暗黙
アクセスコンポーネント:。。コンテンツプロバイダ、 放送に関しては、意図
getApplicationContext()getContentResolver()クエリ(URI、...);
あなたはそれがメモリに発生する可能性がありますmaintaningは要するに
をリークしているため、コンテキストに関連するメモリリークを避けるために、コンテキストを使用するときに注意する必要があり、次のことを覚えています(アクティビティへの参照 はアクティビティ アクティビティと同じライフサイクルを持つ必要があります)