2012-02-03 7 views
6

Mentre si profila la mia app per iOS eseguo un compito più volte più volte in cui spingo e popo una vista dallo stack, quindi eseguo un heapshot. Lo stesso codice viene eseguito ogni volta e la vista spinta contiene solo alcune immagini che vengono rimosse non appena viene visualizzata la vista.allocazioni iOS - conteggio persistente in heapshots non sempre 0

screenshot of instruments

Ora, poiché il conteggio persistente è 0 per quasi la metà delle heapshots, sarebbe lecito ritenere non c'è memoria abbandonata?

Ho sentito dire che le righe con un conteggio persistente maggiore di zero potrebbero essere causa di alcune cache interne.

Sto utilizzando Xcode 4.2.1 e l'app utilizza ARC.

Edit:

Grazie a Kendall Helmstetter Gelner sono riuscito a eseguire il debug ulteriormente questo problema. Probabilmente non avrei dovuto usare il simulatore per il debug di questo. Ora ho eseguito sul dispositivo e ora sembra che ci sia un oggetto che non viene sempre rilasciato:

Heapshots of app running on device

Dopo guardando attraverso la vista di dettaglio esteso Credo di aver quasi trovato il causa del problema

+6

Per la persona che ha appena votato la mia domanda, potresti almeno darmi una risposta! Sono sicuro che ci sono altri là fuori che sono nuovi agli strumenti e hanno la stessa domanda. – RohinNZ

risposta

2

È difficile dire solo da quello screenshot che potrebbe essere memorizzato nella cache o no - UIImage memorizzerà nella cache le cose, probabilmente anche altri elementi di sistema. Sembra che tu stia correndo nel simulatore, hai provato heapshot su un dispositivo?

È anche possibile selezionare "Nascondi librerie di sistema" sul lato e avere un'idea migliore di quanto è coinvolto il proprio codice.

Problemi correlati