Sviluppo iPhone - perdite impediscono

voti
4

Quando eseguo la mia app con perdite e visualizzare i dettagli estesi per una qualsiasi delle fughe di notizie, mi ci vuole per una particolare linea nel mio codice, ma non so cosa fare dopo che!

Ad esempio, Perdite mostra una malloc a questa linea

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

Ma io non so quale sia il problema nella dichiarazione! Qualcuno può dirmi come interpretare questi problemi ed evitare perdite.

Grazie.

Edit: Per quanto riguarda la domanda precedente ho avuto, NSZombieEnabled fa che nessun oggetto si rilasciano e questo aumenta l'utilizzo della memoria. Così, quando il test con perdite, assicurarsi che questa impostazione viene rimosso dalla tua app. Pensato che questo potrebbe aiutare qualcuno.

È pubblicato 24/01/2009 alle 06:02
fonte dall'utente
In altre lingue...                            


4 risposte

voti
3

Trovato la risposta. La risposta di Fredrik mi ha fatto pensare. Stavo creando un'istanza di NSURLResponse e NSError che sono stato poi passando al metodo sendSynchronousRequest. Secondo il documento di gestione della memoria di iPhone, questo non dovrebbe essere fatto. Dobbiamo solo passare un riferimento agli oggetti NSURLResponse e NSError al metodo e il metodo si occupa di creare e rilasciare gli oggetti.

Speranza che aiuta qualcun altro. Grazie mille per la risposta a tutti.

Risposto il 26/01/2009 a 15:24
fonte dall'utente

voti
1

Una perdita nel metodo si parla sopra avrebbe dovuto essere fissato per il rilascio di iPhone OS 2.2. Quale versione di iPhone OS stai usando?

Risposto il 24/01/2009 a 20:28
fonte dall'utente

voti
1

Ti liberare la risposta e gli oggetti di errore dopo la chiamata? Quelli sono eventualmente assegnati nella chiamata.

Risposto il 24/01/2009 a 10:58
fonte dall'utente

voti
1

Il riquadro Particolare estesa vi darà impilare tracce che vi mostra lo stack in perdita. In generale un buon punto di partenza è quello di guardare i vostri metodi e l'ultimo metodo del codice nello stack e vedere cosa si sta facendo la memoria saggio lì, suona come si potrebbe essere più di mantenere un oggetto. Inizia lì per ora

Risposto il 24/01/2009 a 07:04
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more