【发布时间】:2018-08-31 13:41:42
【问题描述】:
我正在使用 Kotlin 进行 Android 开发。有趣的问题。在 Java 中,在静态字段中保存 Context 是内存泄漏。但如果我在 Kotlin 伴生对象中存储上下文,Android Studio 不会说这是内存泄漏。这意味着在 Java 字节码伴随对象不是静态代码? 例如:
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
appContext = applicationContext
}
companion object {
lateinit var appContext: Context
}
}
这里没有内存泄漏?感谢您的回答:)
【问题讨论】:
-
如果您担心泄漏,您可以随时使用
WeakReference,这将防止对象被垃圾收集,直到首先清除所有“强”引用。 -
这不是问题。
标签: memory-leaks kotlin kotlin-companion