在Kotlin for Android中编写库是否有开销?

Mar*_*ain 7 android maven kotlin kotlin-interop

我正在考虑将Java(Android)库移植到Kotlin.我非常喜欢Kotlin,与Java相比,它可以减少库中的错误数量.

由于该库的目标是资源受限的环境,我担心通过将库移植到Kotlin会产生额外的开销.

Kotlin库(作为.class文件分发)是否会引入任何运行时或额外的开销而不是Java库?

由于Kotlin,最终的Android应用程序会更大还是更慢?

Jay*_*ard 8

Kotlin有许多专门针对Android的优化.如果您阅读博客文章,您可以看到它如何不断减少stdlib大小,以及每个版本的课程数量.

由于Kotlin,最终的Android应用程序会更大还是更慢?

没有

Kotlin库(作为.class文件分发)是否会引入任何运行时或额外的开销而不是Java库?

标准库非常小,它的许多功能都是内联的,这意味着它们在编译之后不存在,只是变成内联代码.Proguard也可以照顾很多.

由于该库的目标是资源受限的环境,我担心通过将库移植到Kotlin会产生额外的开销.

您没有定义受约束的资源.Kotlin不会使用更多内存,也不会使用更多磁盘,而且stdlib很小.

我非常喜欢Kotlin,与Java相比,它可以减少库中的错误数量.

Kotlin在Android上很受欢迎是有原因的,你应该把它作为一个标志,表明有更多的好处而不是消极.真的,你可以通过Java中的一个小例子和Kotlin中的小例子来比较差异.Proguard两者都有相同类型的构建管道.

  • 我不会说标准库很小。Kotlin 1.3 stdlib添加了0.7Mb,这对于某些应用程序可能是个问题 (2认同)