Estoy tratando de resolver algunas condiciones de poca memoria utilizando instrumentos. Puedo ver el consumo de memoria en el monitor de Physical Memory Free bajar a un par de MB, aunque las asignaciones muestran que All Allocations es de aproximadamente 3 MB y Bytes totales es de 34 MB.Uso de instrumentos para trabajar con advertencias de memoria baja
Empecé a experimentar bloqueos ya que moví algunas operaciones a una hebra separada con NSOperationQueue. Pero no estaba usando instrumentos antes del cambio. Sin embargo, estoy apostando a que hice algo que puedo deshacer para detener los bloqueos.
Por cierto, es mucho más estable sin instrumentos o sin el depurador conectado.
Tengo las fugas a casi ninguna (tal vez un máximo de cien bytes antes de un bloqueo).
Cuando miro las Asignaciones, solo veo objetos muy primitivos. Y la memoria total informada por ella también es muy baja. Así que no puedo ver cómo mi aplicación está causando estas advertencias de memoria baja.
Cuando miro Heap Shots desde el inicio, no veo más de 3 MB allí, entre la línea de base y la suma de todos los valores de crecimiento del montón.
¿Qué debería estar buscando para encontrar dónde está el problema? ¿Puedo aislarlo en una de las instancias de mi controlador de vista, por ejemplo? ¿O a una de mis otras instancias?
Lo que he hecho: Apagué y encendí el dispositivo, y esto mejoró significativamente. Instruments no informa una advertencia de memoria baja. Además, me di cuenta de que la memoria física gratuita en el inicio era de solo 7 MB antes de reiniciar, y es de unos 60 MB después de reiniciar.
Sin embargo, veo una caída muy regular (periódica) en la memoria física libre, bajando de 43 MB a 6 MB (y luego una copia de seguridad de hasta 43 MB). Me gustaría saber qué causa eso. No tengo cronómetros funcionando en esta aplicación. (Tengo algunos performSelector: afterDelay :, pero esos no están activos durante estas pruebas.)
No estoy usando ARC.
¿Encontró una solución/explicación para esto? Tengo el mismo tipo de problemas. – mm24