performance - Kotlin:避免创建FqNameUnsafe和FqName

标签 performance garbage-collection kotlin garbage jvm-languages

我注意到我的应用程序创建了大量的FqNameUnsafeFqName实例。这些是何时创建的?如何避免创建这些? (我需要减少应用程序中的垃圾创建。)

enter image description here

最佳答案

我的Kotlin项目中没有FqNameUnsafe或FqName。它仅包含在kotlin-reflect(a separate JAR file)中。

如果您不必在应用程序中使用kotlin-reflect,则不要将其包含在类路径中。通常,Kotlin会编译为非常简单的JVM字节码,并且不会产生太多开销(如果有的话),有时会执行纯Java,因为它可以inline functions(您可以在Kotlin Language Documentation中搜索“开销”以获取更多详细信息)。

但是,如果您确实需要使用kotlin-reflect,那么据我所知,没有任何选项可以调整它的工作方式,并且会招致costs typical to reflection(以及我无法针对的Kotlin反射特有的任何功能)查找任何有用的文档)。

关于performance - Kotlin:避免创建FqNameUnsafe和FqName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34075243/

相关文章:

与浏览器相比,Android Worklight 应用程序 UI 性能较差

c# - 有没有办法显示 "blocking"WinForms 上下文菜单?

generics - 在 Kotlin 中的 when 子句中组合多个

java - 输出最终对象的 JVM 选项

android - 如何使用 kotlin 语言以编程方式从 Android 中的 SIM 卡获取手机号码?

android - 如何删除 Ktor 客户端 2.0.0 的默认 header

c++ - 多个 std::vectors 来修复缓存问题?

algorithm - Big O,你如何计算/近似?

Eclipse:自动完成期间 CPU 使用率较高

cassandra - 当使用一致性级别 ALL 进行 DELETE 时,使用较低的 gc_grace_seconds