Sto sviluppando un'applicazione per iPhone che utilizza principalmente la rubrica e il database. Dopo aver recuperato circa 3000 contatti dalla rubrica, allego i tag delle stringhe ai contatti (5 per ciascuno). Sto salvando i miei tag nel database.Perdite di memoria causate da CoreFoundation Framework
Per carico scopo di test ho aggiunto 10.000 tag per l'applicazione. Ma durante il test di carico della mia applicazione, ho osservato alcune perdite di memoria che non erano correlate al codice dell'applicazione ma rappresentano un insieme di set di istruzioni. Anche Instruments ha mostrato Foundation come la biblioteca responsabile per la perdita (uso estensivo di NSString
, NSDictionary
, NSArray
che appartiene al framework Foundation). La mia applicazione si blocca dopo 10 - 15 minuti di utilizzo. Il rapporto Crash cita, l'applicazione si è bloccata a causa della poca memoria.
Il profilo di memoria con CLANG mostra zero perdite. Come risolvo queste perdite di memoria? Queste perdite sono il vero colpevole dietro l'incidente? Sono disponibili altri strumenti per controllare le perdite di memoria?
Questo potrebbe essere un problema di autorelease. Succede ancora se lo fai in lotti? Cioè, in diverse iterazioni del runloop? Forse avvolgere l'operazione con la sua piscina. – Eiko
Sì, ho provato a svuotare il pool di rilascio automatico una volta che l'applicazione riceve un avviso di memoria, ma anche il drenaggio del pool non va bene. – Aditya
Dovresti sapere se le perdite sono il colpevole, quanta memoria gli strumenti dicono che stai perdendo? – hooleyhoop