AdView causa pérdida de memoria

Estoy usando AdView y LeakCanary. Fragmento que aloja la llamada adView adView.destroy () en onDestroy, pero LeakCanary muestra que la actividad que hospeda este fragmento es filtrada por com.google.android.gms.common.api.aaai. El volcado de montón también muestra que hay pérdida de memoria. Cuando elimino AdView.loadAd () y no cargar anuncio en fragmento – no hay pérdida. ¿Alguna idea o sugerencia? Gracias.

El mismo problema, AdView tiene una variable interna (referencia fuerte) que se aferra al contexto, que es mi Actividad, provocando una fuga de la instancia de Actividad.

Mi dependencia es com.google.android.gms:play-services-ads:8.3.0

Una solución consiste en proporcionar el Contexto de la Aplicación al crear la instancia de AdView.

 AdView adview = new AdView(getApplicationContext()); 

¿Puede probar lo siguiente:

  • Mueva su lógica en onDestroyView ()
  • Primero elimine su adView de su contenedor y luego llame a destroy (), es decir

     ViewParent parent = adView.getParent(); if (parent != null && parent instanceof ViewGroup) { ((ViewGroup) parent).removeView(adView); } adView.destroy(); adView = null; 
  • ¿Cómo puedo solucionar esta pérdida de memoria de Android que involucra Threads?
  • Cómo liberar memoria en android para evitar fugas de memoria
  • Fuga de memoria debido a android.widget.BubblePopupHelper
  • Máxima memoria nativa que se puede asignar a una aplicación para Android
  • ¿Cómo puedo saber cuánta memoria heap en un momento dado?
  • Admob Memory Leak - evitando usar la actividad vacía
  • Fuga de AdActivity en AdMob (SDK 7.0) para Android
  • Seguimiento de la memoria / fugas de la ventana en Android?
  • Descripción de las fugas de memoria en una aplicación de Android
  • Cómo encontrar la clase / actividad de pérdida de memoria en Android
  • Error de memoria de mapa de bits - Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.