我正在context
中阅读Android
并在我的Android应用程序中使用。但后来我想到了一个想法。那,为什么我们只在context
而不是constructor
中传递method
,类似于component.setContext(context)
,其中component
是假设的组成部分setContext
1}}是一种假设的方法,上下文可以是getConetxt/this/getApplicationContext
(根据要求)。
如果有人认为标题或任何内容不合适,他们可以自由更改/编辑。
请帮我理解。谢谢
答案 0 :(得分:1)
如果您通过构造函数或任何setter方法传递Context
,基本上两者都是相同的。
你仍然必须在你的类中引用Context ,它将在创建对象期间初始化,即通过构造函数初始化,或者稍后将通过任何setter方法初始化
在这两种情况下,Context引用仍然存在。这只是关于急切初始化或延迟初始化的问题。
但是在急切初始化的情况下,在访问类中的Context时,您确信上下文已经初始化并且您可以安全地使用它。
但是在延迟初始化的情况下无法保证。作为大小说明,请查看两种类型的上下文的区别 - 应用程序上下文和活动上下文。