(Dis-) Преимущество наличия нескольких модулей в Android Studio Project?

Преимущественно ли иметь несколько модулей в проекте Android Studio над наличием только одного большого приложения- модуля?

Я знаю об Android-модулях в целом и преимуществах SOLID, поэтому я уделяю особое внимание разработке производительности . Поскольку gradle может делать инкрементные сборки, и если изменяется только один модуль, эти другие модули не нужно обрабатывать?

Является ли это заметным или существует даже значительное количество накладных расходов?

Solutions Collecting From Web of "(Dis-) Преимущество наличия нескольких модулей в Android Studio Project?"

Очень важно иметь несколько модулей, а не создавать один большой модуль приложения. Ниже приведены ключевые моменты:

  1. Если вы обнаружите, что время компиляции занимает больше времени, вы можете отключить модуль от градиента, на котором вы временно не работаете и скомпилируете его.
  2. Модуль помогает нам также разделить проект на отдельные единицы функциональности. Вы можете создать один модуль данных, который содержит все чистые java-компоненты и может использоваться несколькими приложениями, если вы находитесь в одном домене. Например. У домена финансов может быть два приложения: один для просмотра политик для клиента, а другой – для страхового агента для просмотра тех же данных. Но модуль данных может использоваться совместно во всех приложениях, и даже модуль данных может быть заимствован из сервера или команды api. Модуль данных может быть протестирован индивидуально без каких-либо зависимостей от андроида, и любой знает, что Java может писать тестовые примеры.
  3. Каждый модуль может быть независимо построен, протестирован и отлажен.
  4. Дополнительные модули часто полезны при создании библиотек кода в вашем собственном проекте или при создании разных наборов кода и ресурсов для разных типов устройств, таких как телефоны и носимые носители, но сохраняйте все файлы в пределах одного проекта и обменивайтесь определенным кодом ,
  5. Кроме того, модуль приложений Android и модуль библиотеки отличаются.
  6. Вы можете хранить две разные версии модуля на основе выпусков api, начиная с ASOP.

Вы можете больше узнать о ресурсе разработчика Android.

Вчера появилась статья на «Среднем», которая точно соответствует моему вопросу:

https://medium.com/@nikita.kozlov/how-modularisation-affects-build-time-of-an-android-application-43a984ce9968#.at4n9imbe

ТЛ; др:

Во-первых, самое главное, гипотеза была правильной, модульный проект может значительно ускорить процесс сборки, но не для всех конфигураций.

Во-вторых, если расщепление выполняется неправильно, тогда время сборки будет значительно увеличено, потому что Gradle создает и выпуск, и отладочную версию библиотечных модулей.

В-третьих, работа над тестовым способом намного проще для проекта с несколькими модулями, потому что создание небольшого библиотечного модуля происходит быстрее, чем весь проект.

В-четвертых, делать много вещей параллельно замедляет сборку. Поэтому иметь более мощное оборудование – хорошая идея.

Ниже вы можете найти результаты всех экспериментов, описанных в этой статье

Обновить

Адрес в Google I / O '17: https://youtu.be/Hx_rwS1NTiI?t=23m17s