Duplicar posible:
How to avoid memory leaks in callback?¿Evita las pérdidas de memoria en las devoluciones de llamada?
Effective Java dice:
Una tercera fuente común de pérdidas de memoria es oyentes y otros devoluciones de llamada. Si implementa una API donde los clientes registran las devoluciones de llamada pero no las cancela de nuevo explícitamente, se acumularán a menos que tome alguna medida. La mejor forma de garantizar que las devoluciones de llamadas sean basura recopiladas rápidamente es almacenar solo referencias débiles para ellas, para la instancia , guardándolas solo como claves en un WeakHashMap.
No puedo entender esto. ¿alguien podría explicar esto?
Aquí se responde a esta pregunta. http://stackoverflow.com/questions/2859464/how-to-avoid-memory-leaks-in-callback –