2016-07-28 34 views
-4

我读到有关contextAndroid并使用在我的Android application.But然后想法进入了我的脑海里。那么,为什么我们只在constructor中通过context而不是method,类似于component.setContext(context),其中component是假设组件,setContext是假设方法,上下文可能是getConetxt/this/getApplicationContext(根据需求)。应用情境而不是通过构造

如果有人认为,标题或什么是不恰当的,他们可以自由地改变/编辑。

请帮我了解it.Thanks

+0

downvoters,请解释下投票的原因,以便我可以改进我的问题。 –

回答

1

基本上都是一样的,如果你通过构造函数或通过任何setter方法一个Context通过。

您将仍然需要在您的类中引用上下文,它将在创建对象期间初始化,即通过构造函数初始化或稍后将通过任何setter方法初始化。

在这两种情况下,上下文引用仍然存在。这只是一个关于渴望初始化的问题懒惰初始化

但渴望初始化的情况下,在访问类中的上下文中,您确信该上下文已被初始化为确保您可以安全地使用它。

但在延迟初始化的情况下,没有保证。而作为一个尺寸注意做检查了关于两种语境的差异 - 应用程序上下文活动方面

+0

不错的想法,但仍然等待一些技术原因(如果有的话)。 –

+1

这不仅仅是一个想法。试图在技术上解释你。它是一个非常简单的Java问题,你可能只是有点困惑。如果您需要了解更多信息,请告诉我。 –