在哪些情况下使用getApplicationContext()函数

时间:2012-08-06 15:56:58

标签: java android eclipse

我正在学习学习android的一些教程,但问题是它们不包含所有细节。

具体来说,如果对getApplicationContext()的用例有所了解,那就太棒了。

1 个答案:

答案 0 :(得分:3)

您可以将Context视为应用程序资源(即res文件夹中的所有内容)和Android运行时的句柄。 ActivityServiceApplication等类继承自Context等。

通常情况下,只要需要Activity,您就会传入当前的Context,因为Activity会从Context继承。

当需要getApplicationContext()时,您还会找到有关使用Context而非您的活动的信息。这通常是为了防止任何需要Context的代码不必要地保存对Activity的引用,在最坏的情况下可能会阻止它被垃圾收集(传入Application并不是真正的大问题情景,因为它预计将存在很长时间)。

但是,在某些情况下,方法的参数的类型为Context,但实际上需要Activity。使用startActivity()是我相信的一个例子(如果我错了,请纠正我)。