[解決済み] ActivityとContextの違いは何ですか?
2022-12-22 04:34:55
質問
ActivityとContextは同じなのでしょうか、それとも違いがあるのでしょうか?
どのような場合にメソッドにActivityを、どのような場合にContextを渡さなければならないのでしょうか?
どのように解決するのですか?
私が理解している限りでは
コンテキスト
はベースオブジェクトです。そのため、すべての
アクティビティ
と同じ
アプリケーション
はContextから導出されます。これは、すべてのアクティビティとすべての
Application
は
Context
;
から
developer.android.com
活動
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.view.ContextThemeWrapper
↳ android.app.Activity
そして アプリケーション
java.lang.Object
↳ android.content.Context
↳ android.content.ContextWrapper
↳ android.app.Application
アプリケーションコンテキストはアプリが生きている限り存続しますが、アクティビティコンテキストはアクティビティと一緒に消滅します(アプリケーションコンテキストが消滅した後では無効です)。
onDestroy
の後は無効です)。
そのため、もしActivity全体でContextが必要な場合(つまりSingletonで)、Application contextを使用した方が良いでしょう。
通常、Android Frameworkのメソッドでは、コンテキストが期待されているので、どちらを渡しても違いはありません。しかし、常に メモリリーク を常に意識してください。
関連
-
[解決済み] Androidのgravityとlayout_gravityの違いは何ですか?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Androidの「コンテキスト」とは何ですか?
-
[解決済み] match_parentとfill_parentの違いは何ですか?
-
[解決済み] Androidで'Context'を取得する静的な方法?
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
-
[解決済み】アクティビティコンテキストとアプリケーションコンテキストの違いについて
-
[解決済み] 非推奨のandroid.support.v4.app.ActionBarDrawerToggleの置き換え方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AndroidでラジオボタンにOnClickListenerを設定するには?
-
[解決済み] handler.postDelayed()を停止する。
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] ViewPagerのアイテムを強制的に再インスタンス化する方法 [重複].
-
[解決済み] 通知をクリックした後にアプリケーションを開く
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] EditTextの右側のDrawableにonClickListenerを設定する [重複] [重複
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] google-services.jsonって実際何してるの?
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?