Function Kotlin函数内联的好用例是什么?

Function Kotlin函数内联的好用例是什么?,function,kotlin,inline,inlining,Function,Kotlin,Inline,Inlining,我最近学习了Kotlin内联函数。我认为下面的函数twipsToPixels似乎是一个很好的用例,但是IntelliJ给了我一个警告,说这会对性能产生预期的影响。我本以为这里的情况正好相反?这让我觉得我错过了更深层次的东西。有人有什么想法吗 private inline fun twipsToPixels(value: Int) = (value * SCREEN_RESOLUTION / TWIPS_CONVERSION).roundToInt() private fun screenBox

我最近学习了Kotlin内联函数。我认为下面的函数twipsToPixels似乎是一个很好的用例,但是IntelliJ给了我一个警告,说这会对性能产生预期的影响。我本以为这里的情况正好相反?这让我觉得我错过了更深层次的东西。有人有什么想法吗

private inline fun twipsToPixels(value: Int) = (value * SCREEN_RESOLUTION / TWIPS_CONVERSION).roundToInt()

private fun screenBoxInPixels(screenBox: ScreenBox): ScreenBox {
  val left = twipsToPixels(screenBox.position.left)
  val top = twipsToPixels(screenBox.position.top)
  val width = twipsToPixels(screenBox.size.width)
  val height = twipsToPixels(screenBox.size.height)
  return ScreenBox(Position(left, top), Size(width, height))
}
但是IntelliJ给了我一个警告,说这会对性能产生预期的影响

你误读了它;它说这种影响是微不足道的,也就是说,可能太小而无足轻重。信息的第二部分是

内联最适用于具有函数类型参数的函数


主要是因为它允许避免首先为这些参数创建函数对象。

主要是具体化的参数是内联的原因。一个好的JVM无论如何都会内联方法,如果这是有效的。这是否回答了你的问题?