在Android Studio项目中拥有多个模块而不是只有一个大型 app - 模块是否有利?
我一般都了解Android Modules以及SOLID的优势,所以我的重点是特别考虑构建性能。 gradle可以进行增量构建,如果只有一个模块发生变化,那么其他模块不需要处理吗?
这是否明显或者是否有相当大的开销?
答案 0 :(得分:31)
拥有多个模块而不是创建单个大型应用程序模块是非常有利的。以下是关键点:
You can have a look for more on android developer resource
How modularization can speed up your Android app’s built time
App modularization and module lazy loading at Instagram and beyond
Modularizing Android Applications by Mauin
Survey on how Android developers were modularising their apps
答案 1 :(得分:15)
昨天有一篇关于Medium的文章,它正好解决了我的问题:
TL; DR:
首先也是最重要的,假设是正确的,模块化项目可以显着加快构建过程,但不适用于所有配置。
其次,如果以错误的方式完成拆分,那么构建时间将大大增加,因为Gradle构建了库模块的发布和调试版本。
第三,对于具有多个模块的项目,以测试驱动的方式工作要容易得多,因为构建一个小型库模块比整个项目更快。
第四,并行做很多事情会减慢构建速度。因此拥有更强大的硬件是一个好主意。
您可以在下面找到本文中描述的所有实验的结果
在Google I / O 17上解决:https://youtu.be/Hx_rwS1NTiI?t=23m17s