Android 获取上下文的更好方法是什么?

Android 获取上下文的更好方法是什么?,android,android-context,Android,Android Context,根据android的文档,有几种方法可以获取应用程序中的上下文,并将其传递给其他类/方法/任何其他类 假设我在Foo活动中,需要将上下文传递给Bar的构造函数 Bar bar = new Bar(Foo.this); Bar bar2 = new Bar(this); //same as first i guess Bar bar3 = new Bar(getApplicationContext()); Bar bar4 = new Bar(getBaseContext()); Bar bar

根据android的文档,有几种方法可以获取应用程序中的上下文,并将其传递给其他类/方法/任何其他类

假设我在Foo活动中,需要将上下文传递给Bar的构造函数

Bar bar  = new Bar(Foo.this);
Bar bar2 = new Bar(this); //same as first i guess
Bar bar3 = new Bar(getApplicationContext());
Bar bar4 = new Bar(getBaseContext());
Bar bar5 = new Bar(MyApp.getContext); // get context statically 

考虑到内存泄漏、速度和总体性能,在所有这些可能性之间有什么更好的方法

我想这篇文章会给你提供足够的信息。看看第一个反应

你应该退房——基本上和你的一样

此外,上的开发者文档还为您提供了一些合理使用各种方法的情况的合理解释。

。它涵盖了Android内存管理的所有方面

因为上下文解释是一个很好的答案


另一个。

您可能会想使用这个。它是您当前活动的上下文(即上下文),具有最短的生命周期。但是要注意可能发生的内存泄漏。
我对你的问题没有任何直接的答案。但是如果你比较Foo.this和this,最好使用第一个,因为有时(在嵌套类中)第二个会显示错误

有关它的更多讨论,请通过该链接

希望对你有帮助