视图类中的Android DependencyInjected上下文

时间:2015-07-24 15:30:15

标签: android dependency-injection android-context

为什么将上下文保持为实例变量,如:

Context mContext = DependencyInjectionService.getInstance(Application.class)

在Android视图课程中被认为不是一个好习惯吗?相反使用getContext()据说更好,但我无法找到解释。

1 个答案:

答案 0 :(得分:0)

啊,谢谢你解释你的观点是关于表现。用于依赖注入的API(DI框架)有很多开销。依赖可以是单例作用域,需要多注入,需要额外的构造元素等。它们可以用于基本上所有类型的依赖。这使得它们非常通用。但是,由于所有的开销和可能性,性能并不是它的强项。 getContext不会检查依赖项是否需要多次注入,或者是否是单例作用域等。它只返回上下文。这使得getContext对性能有益,但不能用于所有类型的对象。如果您只是看一下方法的命名:" getContext"知道它需要返回:上下文。 "的getInstance"需要找出返回的内容(可能是上下文)。