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