我在学习android的一些教程,但问题是他们没有包含所有的细节。在哪些情况下使用getApplicationContext()函数
具体而言,如果某些指示灯可用于getApplicationContext()
的用例,那将会非常好。
我在学习android的一些教程,但问题是他们没有包含所有的细节。在哪些情况下使用getApplicationContext()函数
具体而言,如果某些指示灯可用于getApplicationContext()
的用例,那将会非常好。
您可以将Context
视为应用程序资源(即res
文件夹中的所有内容)和Android运行时的句柄。诸如Activity
,Service
,Application
之类的类继承自Context
等等。
通常,只要需要Context
,就会通过当前的Activity
,因为Activity从上下文继承。
当需要Context
时,您还可以找到有关使用getApplicationContext()
而非您的活动的信息。这通常是为了防止需要上下文的任何代码不必要地持有对您的活动的引用,这在最坏的情况下可能会阻止它被垃圾收集(传递Application
在这种情况下并不是一个真正的问题,因为它是预计会很长时间)。
但是,某些方法的参数类型为Context
,但实际上需要Activity
。使用startActivity()
就是我相信的一个例子(纠正我,如果我错了)。