getContext(), getApplicationContext(), getBaseContext()和“this”之间的区别是什么?

虽然这是一个简单的问题,但我无法理解它们之间的基本区别。如果可能,请举一些简单的例子。


当前回答

从这个文档

我明白你应该用:

尝试使用上下文应用程序而不是上下文活动

其他回答

上下文是:

一个抽象类,它的实现由Android系统提供。 它允许访问特定于应用程序的资源和类,以及 对应用程序级操作的向上调用,例如启动活动, 广播和接收意图等。

getApplicationContext() -返回应用程序中运行的所有活动的上下文。 getBaseContext() -如果你想从应用程序中的另一个上下文访问Context,你可以访问。 getContext() -仅返回当前正在运行的活动的上下文视图。

这个:当前类对象

getContext():返回当前活动的上下文

getApplicationContext():返回应用程序中正在运行的所有活动

从这个文档

我明白你应该用:

尝试使用上下文应用程序而不是上下文活动

getApplicationContext()——返回应用程序中运行的所有活动的上下文。

getBaseContext()—当您想要从您可以访问的应用程序中的另一个上下文访问Context时。

getContext()——它只返回当前正在运行的活动的上下文视图。

This - it's引用当前类对象

它引用当前活动类对象,而活动继承上下文,因此必须在可以使用上下文或活动的地方使用它。