13

I'm considering porting a Java (Android) library to Kotlin. I really like Kotlin and the benefits over Java should reduce the number of bugs in the library.

Since the library is targeting a resource constrained environment I'm worried that by porting the library to Kotlin there will be extra overhead.

Does a Kotlin library (distributed as .class files) introduce any runtime or extra overhead versus a Java library?

Will the resulting Android app be any larger or slower because of Kotlin?

4

1 回答 1

9

Kotlin 有许多专门帮助 Android 的优化。如果您阅读博客文章,您会看到它如何不断减少 stdlib 的大小以及每个版本的类数量。

最终的 Android 应用会因为 Kotlin 而变得更大或更慢吗?

与 Java 库相比,Kotlin 库(以 .class 文件形式分发)是否会引入任何运行时或额外开销?

标准库非常小,它的许多函数都是内联的,这意味着它们在编译后不存在,只是变成内联代码。Proguard 也可以处理很多事情。

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

您没有定义哪些资源受到限制。Kotlin 不会使用更多内存,不会使用更多磁盘,而且 stdlib 很小。

我真的很喜欢 Kotlin,与 Java 相比的优势应该会减少库中的错误数量。

Kotlin 在 Android 上很受欢迎是有原因的,你应该把它看作是好处多于坏处的标志。实际上,您可以通过在 Java 中使用一个小示例和在 Kotlin 中使用一个小示例来自己了解这一点,并比较它们之间的差异。Proguard 两者都具有相同类型的构建管道。

于 2016-09-22T09:53:59.367 回答