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

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

在这里输入图像描述

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

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

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