【发布时间】:2016-08-20 23:33:25
【问题描述】:
几年前,当我第一次为 Android 采用 gradle 时(在 Gradle 2.0 之前),我发现使用和依赖一个模块会有一些开销,所以我一直没有将我的项目拆分成更小的模块,并且而是创建了非常大的模块。在尝试了其他一些构建系统(例如 Buck)之后,通过将代码拆分为多个小模块来获得性能。一些现代编程语言(如 Kotlin)甚至具有专门围绕将代码拆分为模块的概念构建的可见性修饰符。
我们目前处于 Gradle 2.14.1(几乎是 3.0),在过去的几个版本中,他们引用了巨大的性能提升。随着过去几年对 Gradle / Android 插件的更改,它现在是否会产生更快的构建以将您的代码拆分为更小的模块,或者使用更少的大模块?
【问题讨论】:
-
鉴于构建过程大多是按顺序进行的,因此我不完全确定“拉出”较小的模块是否会比在其他项目中潜在的重用有益。
-
构建过程可以是并行的。这样做的好处是,如果您更改了依赖项底部的一段代码,则不需要重新构建其他模块,只需将它们的输出合并到最终构建中即可。
-
如果这些模块不需要重建,那么这似乎回答了你的问题,不是吗?这个过程会更快
-
1.我不确定 android 插件有多聪明,但理论上它不应该被重建,并且 2. 我不知道将多个构建的源合并在一起会有多昂贵。几年前,我再次尝试过,发现多个模块速度较慢。
标签: java android gradle kotlin