Koin提供single
和factory
创建声明的类的实例。
我的同事认为,Koin创建了这些类的静态实例,Application没有引用它们。因此,在Android系统中发生高内存压力时,它们很容易被垃圾回收或失去状态控制。因此,如果koin创建的单例占用大量内存,我们最好避免使用Koin。
我的问题是:
single
和factory
以外是否还有其他初始化方法?我的同事认为Koin创建了这些类的静态实例
不清楚您的同事所说的“静态实例”是什么。
它们未被应用程序引用
Application
子类引用了Android中很少的单例,至少通过我如何使用术语“被引用”。
因此它们很容易被垃圾收集
没有这将使Koin或任何其他依赖项反转框架无效。
或在Android系统中发生高内存压力时失去状态控制
如果“系统”(设备?)的内存不足,Android将终止进程。这将消除受影响进程中的所有对象,无论它们是否由Koin管理。
由koin single创建的类{}在Android中发生内存不足时是否容易被收集?
编号
除了single和factory以外,还有其他初始化方法吗?
viewModel
和fragment
用于Android应用程序。参见the koin-android
documentation。