2010-09-03 5 views
6

Veo que mi aplicación se está volcando debido a la poca memoria. Al tratar de localizar el problema, ejecuté la aplicación a través del instrumento Allocations. Desafortunadamente, no pude ver ningún problema con el uso de la memoria cuando se mató.Aplicación para iPad descartada, mientras que el Instrumento de asignación muestra que no se usa la memoria de forma inusual.

En el momento de la eyección, la aplicación estaba reproduciendo un video, y había estado durante unos 45 segundos. No hubo toques u otros eventos por lo que puedo decir que contribuyeron.

El informe de bloqueo y un tiro de instrumentos:

Incident Identifier: AF9F802D-F9B9-406D-951F-675AEE9ACCDF 
CrashReporter Key: 0563d9f62086be9f13ffd2d60b3b0bec7c5d677e 
OS Version:   iPhone OS 3.2.1 (7B405) 
Date:    2010-09-03 10:28:20 +0100 

Free pages:  693 
Wired pages:  22014 
Purgeable pages: 0 
Largest process: Wheel 

Processes 
     Name     UUID     Count resident pages 
      Wheel <7c2db04027d9b0c387b2389c64499ebe> 18864 (jettisoned) (active) 
     DTMobileIS <b34df288cd9a07a995933bbd6b66717a> 1697 
notification_pro <4c9a7ee0a5bbe160465991228f2d2f2e>  72 
notification_pro <4c9a7ee0a5bbe160465991228f2d2f2e>  72 
    syslog_relay <1c73f841b191556b6911bc6b4736b50f>  71 
      ptpd <e3f855cfd629600a4812e7e90c77667e>  253 
      lsd <eb108595d2a932a8d244d1ab7386cd0f>  162 
     notifyd <74e4a487a89c31f68917b22605baf6c6>  63 
     BTServer <21dd98c0ab29b910cd51cb703a9cb9b9>  213 
     CommCenter <e4b9cc04f083f22232c92ee1363fe669>  187 
    SpringBoard <745085d9a24a8529f0ceb6c33d766873> 4281 (active) 
     accessoryd <59ca0ba146c28bf5c8ab6e3d2e81bbad>  112 
     configd <36001fe17103f8af6d3b525cb23ac8a0>  356 
    fairplayd.K48 <2d997ffca1a568f9c5400ac32d8f0782>  81 
     locationd <60fd4d90fec18a76ffc0b8a45351fe54>  626 
    mDNSResponder <a6f01dd493e3d2bfe318f5d44f8508e2>  144 
    mediaserverd <2eda3ce5e1c8a1a4d7b8271cef1f2d12> 1624 
     lockdownd <378f09833cdc57b1b60e42d79c355938>  283 
MobileStorageMou <7f2cd9f90fab302a42a63460b1c4d775>  72 
     syslogd <6990426209e51a8ee13c91cd1a050a2e>  69 
     launchd <880e75c2db9c0f670516c58935e89b58>  88 

**End** 

Instruments

¿Hay algo más que pueda hacer para encontrar la causa de la jettison? ¿Alguien sabe lo que significa el número de páginas residentes en el informe de bloqueo?

EDITAR

¿Hay alguna manera de obtener el recuento de páginas residentes como las carreras de aplicaciones?

+0

Pegue el informe de bloqueo completo, no una captura de pantalla del mismo. – kennytm

+0

¿Recibes un mensaje de poca memoria antes de que se expulse tu aplicación? Si es así, ¿qué haces con eso? –

+0

He agregado el informe de fallos. – Codebeef

Respuesta

6

OK, la razón por la que estaba viendo mi aplicación abandonada, y no veo actividad extraña en fugas o asignaciones fue porque estaba (involuntariamente) almacenando en caché varias imágenes grandes, lo que provocó que mi aplicación agotara el uso de memoria.

El origen del problema eran varias llamadas a [UIImage imageNamed:], que almacenaba en caché los datos de la imagen. El intercambio de llamadas desde este método a un método que no guarda en caché resolvió el problema.

Si desea obtener más información, he puesto a short post here.

+1

Parece que el enlace ha cambiado a http://codebeef.com/articles/be-careful-with-uiimage-imagenamed.html – Gomfucius

Cuestiones relacionadas