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来访问它。