Jir*_*ire 8 autoboxing delegates properties garbage kotlin
在我的软件中,我有一些使用属性委派的各种值.
这是一个简单的类似示例,显示了我的工作:
class ExampleDelegate<T>(val value: T) {
operator fun getValue(thisRef: Any?, property: KProperty<*>) = value
}
val example by ExampleDelegate(1000) // number larger than 127 (no box cache)
Run Code Online (Sandbox Code Playgroud)
然而,我注意到,引用此值似乎java.lang.Integer在每个引用上创建一个自动装帧的对象().因为该值必须以每秒数百万次或每秒的速度引用,这会导致我的软件产生大量垃圾; 沉重的压力放在垃圾收集器上.
有没有办法避免开销?如果不是直接的,是否有任何聪明的方法来"模仿"高效的财产授权?
提交了有关YouTrack的错误报告:https://youtrack.jetbrains.com/issue/KT-13606
| 归档时间: |
|
| 查看次数: |
449 次 |
| 最近记录: |