2012-08-06 67 views

回答

3

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

通常,只要需要Context,就会通过当前的Activity,因为Activity从上下文继承。

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

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

相关问题