A implementação do MultiDex resulta na compilação por tanto tempo e, finalmente, no erro de espaço na pilha

Eu tenho um grande projeto Android onde obtive oNão foi possível executar dex: ID do método que não está em [0, 0xffff]: 65536 erro; Acredito que alguns de vocês já passaram por essa questão antes. Este é um erro devido a muitos métodos mencionados no aplicativo.

Procurei diferentes fontes on-line e encontreiesta pode ser a melhor solução.

E eu fiz o seguinte:

AdicionadomultiDexEnabled = true nodefaultConfig bloco debuild.gradle.

Adicionada a seguinte dependência:

dependencies {
  compile 'com.android.support:multidex:1.0.0'
}

Substituiu o seguinte código dentro da minha classe App.

@Override
protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
}

Agora, o erro se foi, mas tenho um novo problema. Quando executo o aplicativo, o compilador leva mais de 3 minutos para compilar e executar o aplicativo, finalmente me dando este erro:

UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: Java heap space

Entendo que esse erro ocorre devido ao uso intenso de memória, mas não sei como resolvê-lo. Estou usando o Android Studio 1.0.2 e a API do Android 21.

Obrigado!

EDITAR:

Eu já verifiqueiComo corrigir "OutOfMemoryError: espaço de pilha java" ao compilar o MonoDroid App no MonoDevelop, mas isso não cobre o motivo do problema e, além disso, não estou usando o Xamarin Studio.

EDIT2:

O sintoma exato é assim:
Quando eu compilo o código, o console do gradle me mostra centenas de avisos dizendo "Ignorando o atributo InnerClasses para uma classe interna anônima" (que algumas outras respostas do stackoverflow sugerem que não são avisos sérios) e, em seguida, mostra apenas um cursor piscando por um tempo e, após cerca de um minuto, isso me dá o erro.

questionAnswers(2)

yourAnswerToTheQuestion