我是Kotlin的新手,我喜欢Android的新语言,但我不敢在生产中使用它,并且会偶然导致内存泄漏,是否有任何新Kotlin开发人员指南显示可能导致内存泄漏的解决方案,有什么解决方案?预防吗?
最佳答案
Kotlin与Java或任何其他基于JVM的语言在同一JVM上运行。这样,它使用与Java相同的垃圾收集器,从而提供一个通常内存泄漏安全的运行时环境。
但是,仍然可能发生内存泄漏。此类泄漏的常见根源是,将对象引用的保留时间超过了必要的时间,有时是永久的! —导致内存泄漏。针对此类泄漏的一些常见做法是:
确保不再需要将nullable references设置为null
。这主要适用于全局/静态变量。当对象自然超出范围时,您不必为此担心(例如,函数内部的局部变量)。
使用weak references。这是一项有点高级的功能,可让您通知GC在特定条件下应自动处理给定的引用(即GC为您将其设置为null
)。
您可能已经猜到了,这些完全相同的问题/做法也适用于Java代码。
已经有几家主要的开发商将Kotlin用于他们的生产Android应用程序(例如Pinterest,Basecamp,Square,Trello等)。因此,请放心,您的公司很好;)