getApplicationContext()和getActivity()之间的区别

时间:2016-06-06 10:51:56

标签: android

Android中的getApplicationContext()和getActivity()以及 this 有什么区别?

2 个答案:

答案 0 :(得分:13)

之间有很多区别:

View.getContext(): 返回视图当前运行的上下文。通常是当前活动的Activity。

Activity.getApplicationContext(): 返回整个应用程序的上下文(所有活动在其中运行的进程)。如果您需要与整个应用程序的生命周期相关联的上下文,而不仅仅是当前的Activity,请使用此代替当前的Activity上下文。

ContextWrapper.getBaseContext(): 如果需要从另一个上下文中访问Context,则使用ContextWrapper。 Context从内部引用ContextWrapper是通过getBaseContext()访问的。

同时检查:

https://stackoverflow.com/a/10641257/4018207 https://developer.android.com/reference/android/view/View.html#getContext%28%29

答案 1 :(得分:2)

存在巨大差异。 Android应用程序可以有多个活动,当您说getApplicationContext()时,它会为您提供整个应用程序的上下文:see details :

但是,当您说getActivity()时,它只会为您提供当前所在活动的实例。