/ / Distinguir entre una pérdida de memoria y el uso normal de memoria: Android, fragmentos de Android, administración de memoria, pérdida de memoria, android-recyclerview

Distinguir entre una pérdida de memoria y el uso normal de la memoria: Android, fragmentos de Android, gestión de memoria, pérdidas de memoria, android-recyclerview

Estoy creando una aplicación para Android, y recién he comenzado a examinar el uso de la memoria.

Mi aplicación consta de una actividad principal y dos fragmentos dentro (el Fragmento A contiene una vista de reciclaje con imágenes, el Fragmento B contiene una imagen y algunos cuadros de texto).

He notado que cuando inicio la aplicación, mi memoriala asignación es de aproximadamente 20MB. Al desplazarse hacia arriba y hacia abajo en la vista de reciclaje en el Fragmento A (sin cargar ningún dato nuevo) puedo hacer que el uso de la memoria aumente (hasta la recolección de basura).

Además, si paso del fragmento A al fragmento B vuelve.y luego, puedo hacer que la asignación de memoria aumente sin parar (hasta la recolección de basura). 20 -> 23 -> 29, etc. etc. Hasta que llega a 60+ y se recolecta la basura.

Si inicio la aplicación a aproximadamente 23 MB asignados y hago un desplazamiento y desplazamiento entre fragmentos, mi uso de memoria podría estar entre 40 y 60+ MB.

Cuando uso Android Studio para recolectar basura varias veces seguidas, puedo volver a bajarlo, pero no hasta 23 (generalmente hasta 30ish).

¿Es esto una pérdida de memoria ya que no puedo recolectar el 100% de la memoria con la que empecé?

Respuestas

0 para la respuesta № 1

No, estrictamente hablando, no se puede tener ese tipo de pérdida de memoria en Java ya que se recolecta basura.

Obtendrá "fugas" en java si mantiene unreferencia a algo que ya no usas (I.E. una lista grande o algo que nunca eliminas). Pero tenga en cuenta que esto siempre se puede arreglar asegurándose de descartar las referencias a cosas que no necesita mantener (eliminando cosas de listas / conjuntos / mapas, cerrando archivos ... etc.). La memoria persistente que usted es. mirar es probablemente desde algunas variables estáticas, ya que están vinculadas a las clases.