Vazamento de contexto no Android

Em Java, as classes internas e anônimas não estáticas contêm uma referência implícita à classe externa. As classes internas estáticas, por outro lado, não. Exemplos comuns de classes internas e anônimas não estáticas são Handler e Runnable.

Quando o ciclo de vida de sua instância é maior do que o de Activity, devido à referência implícita, a Activity não obtém o lixo coletado, causando um vazamento de memória.

Para corrigir isso, torne sua instância estática e mantenha uma referência fraca para a Activity envolvente, se quiser chamar seus métodos. O mesmo vale para Fragments.