2010-04-14 8 views
5

Tengo una aplicación para iPad que se bloquea debido a la poca memoria. Sin embargo, Instruments no muestra ninguna cantidad significativa de memoria asignada con ObjectAlloc: se mantiene por debajo de 1 MB durante el tiempo de vida de la aplicación. Leaks muestra menos de 1kB filtrado en el transcurso de la carrera. El monitor de memoria muestra que la memoria libre en los dispositivos disminuye significativamente con el uso, eventualmente cayendo al punto en que está sin memoria. Aquí hay una captura de pantalla de instrumentos:Se está quedando sin memoria pero no ve una asignación de objetos excesiva en Instruments

Instruments screenshot http://www.freeimagehosting.net/uploads/0758372561.png

estoy totalmente perplejo. Por lo que puedo decir, esto básicamente dice que, en lo que respecta a mi aplicación, nunca uso más de 750kB, pero que el dispositivo aún se está quedando sin memoria física, lo que está causando que mi aplicación se bloquee/fuerce salida.

Soy nuevo en la depuración de problemas de memoria con XCode. ¿Estoy midiendo esto mal? ¿Hay alguna otra manera de ver a dónde va esta memoria?

+1

¿Está asignando cualquier memoria que no sea un objeto Objective-C (por ejemplo, usando 'malloc')? –

Respuesta

1

Si miras la fila de Fugas, tienes toda una gran cantidad de pérdidas de memoria en una fila. Compruebe para asegurarse de que está liberando los objetos que asignó o que sus clases poseen las referencias.

+1

Hmm, tal vez estoy leyendo mal, pero me parece que solo hay un momento en el que hay unas pocas fugas (la barra naranja), que cumulativamente son un total de 212 bytes filtrados (las barras azules). ¿Me estoy perdiendo de algo? –

+1

Parece una fuga de poca importancia. Probablemente desee "Creado y aún vivo" para mostrar la memoria que no se ha liberado. ¿Qué hace la aplicación? Me pregunto si hay memoria que de alguna manera no está cargada en su proceso. –

Cuestiones relacionadas