Kotlin:大量的ConsPStack,我该如何避免?

我如何避免由我的应用程序创建的大量ConsPStack ? 什么时候创建? 我的申请: https : //github.com/Jire/Abendigo

在这里输入图像说明

更新(2016-09-05):问题已经修复,并将在Kotlin 1.0.5中可用。

Kotlinreflection实现使用pcollections来缓存不同类的KClass实例。 大量的ConsPStack实例可能意味着你在很多不同的类上使用reflection。 正如我在另一个回答中提到的那样,反思的实现并没有得到最优化,所以目前这样的问题有些期待。

如果这个问题对你来说真的很重要,那么我建议在可能的情况下使用Javareflection来减少KClass创建。 另外,作为一个极端的解决方案,您可以尝试在特定时刻清除所描述的缓存内容。 这是Kotlin项目中的相应代码 。 由于缓存( var K_CLASS_CACHE )是私有的,所以您需要使用Javareflection来访问它。