Cómo borrar la vista creada dinámicamente de la memoria?

Estoy tratando de borrar algunas vistas de la memoria.

Aquí está la situación. Tengo una actividad que la llamaré A y otra B.

Ahora presiono un botón en la Actividad A que llama a la Actividad B que crea una gran cantidad de vistas dinámicamente Después de esto, presiono el botón para volver a la Actividad A Repita las tesis 2 pasos muchas veces.

El resultado es, en DDMS, el número de objetos y la memoria Asignada alambiques creciendo (el número de objetos se incrementa en 88 y asignado por 0,002MB) Eso significa que las vistas no se quitan de la memoria!

¿Cómo puedo borrar COMPLETAMENTE las vistas de la memoria?

Gracias !

Actualizar- Aquí tienes una nueva información

Básicamente, en mi "mundo real" sólo tengo una actividad que se crea un montón de veces. Esto ocurre porque tengo que comunicarme con un servicio web y todas las respuestas se crean en esa nueva instancia de esta Actividad.

He intentado resolver este problema con el código siguiente

@Override protected void onDestroy() { super.onDestroy(); nullViewDrawablesRecursive(mRootView); mRootView = null; System.gc(); } 

Y que es mi nullViewDrawablesRecursive

 private void nullViewDrawablesRecursive(View view) { if (view != null) { try { ViewGroup viewGroup = (ViewGroup) view; int childCount = viewGroup.getChildCount(); for (int index = 0; index < childCount; index++) { View child = viewGroup.getChildAt(index); nullViewDrawablesRecursive(child); } } catch (Exception e) { } nullViewDrawable(view); } } 

Y ese es mi nullViewDrawable

 private void nullViewDrawable(View view) { try { view.setBackgroundDrawable(null); } catch (Exception e) { } try { ImageView imageView = (ImageView) view; imageView.setImageDrawable(null); imageView.setBackgroundDrawable(null); } catch (Exception e) { } } 

Básicamente estoy intentando quitar todas las vistas y childs de su padre (mRootView) antes de destruir la actividad. Funciona bastante bien, si no hago esto, los objetos y el uso de la memoria aumentan más y más.

El punto es, no es perfecto, al parecer, algún tipo de puntos de vista no se destruye. Y creo que estoy "reinventando la rueda", parece que maldita dura para una cosa simple!

Una vez más, muchas gracias por intentar ayudarme!

Normalmente, no es necesario preocuparse por borrar las vistas de la memoria. Dejaría que la máquina virtual y el framework de Android manejaran esto cuando fuera necesario. Sin embargo, es necesario preocuparse por las pérdidas de memoria. Si sus Actividades están compartiendo / manteniendo referencias a vistas, y no pueden ser recogidas basura, entonces eso es un problema. Usted puede comenzar leyendo sobre eso aquí: http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html

Su duro proporcionar un cierto consejo más específico sin verle código sin embargo …

En onDestroy () establezca las vistas en null y llame al recolector de elementos no utilizados.

 @Override public void onDestroy() { super.onDestroy(); myView = null; System.gc(); } 

Esto puede ayudar al recolector de basura llamando System.gc () pero no se garantiza que la memoria se borra. Sin embargo, siempre y cuando usted no tiene una fuga, no debería haber un problema.

  • Vista vacía en el adaptador de lista expandible
  • Cómo aplicar un filtro de color a una vista con todos los niños
  • ¿Puede explicar alguien inflar método? Mayor comprensión de las vistas de Android
  • El teclado de software redimensiona la imagen de fondo en Android
  • Android: ExpandableListView indicador de grupo dibujable que es grande cuando uso mi propio icono
  • Android: aplica una transformación arbitraria a una vista
  • Android ClassCastException al recuperar Vista personalizada
  • Recuperar el adaptador original de expandiblelistview con el encabezado
  • OnTouchListener para toda la pantalla
  • Obtener ids de vista en un bucle for por programa?
  • Reciclando vistas en vista de desplazamiento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.