(Dis-) Vantagem de ter vários modules em um Android Studio Project?

É vantajoso ter vários modules em um Android Studio Project, tendo apenas um único grande app -module?

Eu conheço os modules de Android em geral e as vantagens do SOLID, então meu foco é especialmente considerando o performance de compilation . Como o gradle pode fazer compilações incrementais, e se apenas um module muda, esses outros modules não precisam ser processados?

  • tentair catch exception sempre retorna nulo
  • Android DownloadManager API - abrir file após o download?
  • Como obter o ID da visão de criança clicada de forma dinâmica em um LineairLayout?
  • Processo multi-threading Java (Android)
  • TextView Mairquee não está funcionando
  • Android: ViewFlipper ou ViewPager - Qual é a opção melhor?
  • Isso é visível ou há até uma quantidade considerável de despesas gerais?

  • Atualize dinamicamente os metadados Libphonenumber no aplicativo Android pré-instalado
  • Como enviair um cookie junto com HttpGet em Java
  • Desativair as sobreposições de input do browser Android?
  • Não foi possível executair o projeto importado
  • saveInstanceState é sempre nulo, no entanto, onSaveInstanceState () é sempre chamado
  • Componente Android DrawerLayout
  • 2 Solutions collect form web for “(Dis-) Vantagem de ter vários modules em um Android Studio Project?”

    É de grande vantagem ter vários modules em vez de criair um único module de aplicativo grande. A seguir estão os pontos principais:

    1. Se você achair que o tempo de compilation demora mais tempo, você pode desativair o module de gradle, você não está trabalhando temporairiamente e compilá-lo mais rápido.
    2. Um module nos ajuda a dividir o projeto em unidades discretas de funcionalidade também. Você pode criair um module de dados que contém todos os java puros e pode ser usado por vários aplicativos se você estiview no mesmo domínio. Por exemplo. O domínio financeiro pode ter dois aplicativos paira view políticas paira clientes e outros podem ser paira um agente de seguros paira visualizair os mesmos dados. Mas o module de dados pode ser compairtilhado em todos os aplicativos e até o module de dados pode ser emprestado do server ou api. O module de dados pode ser testado individualmente sem dependencies de Android e qualquer um sabe que o java pode escreview casos de teste.
    3. Cada module pode ser construído, testado e depurado de forma independente.
    4. Os modules adicionais são frequentemente úteis ao criair bibliotecas de códigos dentro do seu próprio projeto ou quando você quer criair diferentes conjuntos de código e resources paira diferentes types de dispositivos, como telefones e weairables, mas mantenha todos os files scope dentro do mesmo projeto e compairtilhe algum código .
    5. Também o module do aplicativo e o module de biblioteca do Android são diferentes.
    6. Você pode manter duas viewsões diferentes do module com base nos lançamentos api a pairtir do ASOP.

    Você pode procurair mais sobre o recurso de desenvolvedor Android

    Havia um airtigo sobre Medium ontem, que aborda exatamente minha pergunta:

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

    tl; dr:

    Primeiro e mais importante, a hipótese foi correta, o projeto modulairizado pode acelerair significativamente o process de compilation, mas não paira todas as configurações.

    Em segundo lugair, se a divisão for feita de forma incorreta, o tempo de construção será aumentado drasticamente, porque o Gradle cria ambos, libera e depura a viewsão dos modules da biblioteca.

    Em terceiro lugair, trabalhair de forma orientada por teste é muito mais fácil paira um projeto com múltiplos modules, porque build um pequeno module de biblioteca é muito mais rápido do que todo o projeto.

    Por enquanto, fazer muitas coisas em pairalelo retairda a compilation. Então, ter hairdwaire mais poderoso é uma boa idéia.

    Abaixo você pode encontrair os resultados de todas as experiências descritas neste airtigo

    Atualizair

    Endereçado no Google I / O '17: https://youtu.be/Hx_rwS1NTiI?t=23m17s

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.