2012-02-22 16 views
5

Tengo un código que tiene una baja cantidad de asignaciones activas (alrededor de 5 MB según los instrumentos), pero una gran cantidad de uso de memoria del sistema (más de 100 MB). Sé que el código no tiene fugas, y no veo ningún picos de asignación después de una optimización, pero sigo fallando debido a la gran cantidad de uso de memoria.Alto uso de memoria virtual + bajas asignaciones en iOS

Busqué en Google mucho y veo que se supone que debo usar el instrumento VM Tracker, lo que confirma mi gran uso de memoria, pero no estoy seguro de cómo solucionar esta situación. Estoy usando la menor cantidad de memoria posible, todavía hay demasiado en un iPad 1, y no tengo el conocimiento ni las herramientas para descubrir cómo hacer que el sistema operativo no marque tanta memoria como sucia cuando no estoy realmente usándolo. ¿A donde voy desde aqui?

Respuesta

0

Utilice la herramienta Perfil y seleccione asignaciones de memoria +. Haga clic en el rastreador de VM y tome instantáneas. Esto da como resultado una lista con uso de memoria virtual y sucia residente por tipo de objeto. Esto le dará una indicación de dónde mirar.

Creo que el problema más común es que tiene muchos objetos liberados automáticamente que residen en el grupo de liberación automática. El siguiente enlace explica más sobre cómo manejar autoreleasepools: How does the NSAutoreleasePool autorelease pool work?

Cuestiones relacionadas