Sto tentando di scaricare un numero elevato di immagini utilizzando AFNetworking 2.5 e lo streaming su disco. Secondo il monitor di memoria in Xcode, questo sta causando una crescita della memoria illimitata (e, infine, gli avvisi di memoria e l'interruzione forzata), ma la profilazione dell'utilizzo della memoria utilizzando lo strumento di allocazione mostra che l'utilizzo della memoria è stabile.L'utilizzo della memoria iOS è in aumento, non è possibile trovare il colpevole
Mi piacerebbe pensare che Xcode sia semplicemente sbagliato qui, ma perché la mia app verrà uccisa da iOS?
Instruments mostra questo - i picchi sono interrogazioni Core Data, poi il resto è le immagini scaricando - picchi a circa 9.5MB, il resto si trova a circa 8.5MB
Ho anche provato Analisi Heapshot - che mostra un po 'di crescita, ma in nessun posto vicino l'ammontare riportato da Xcode
memoria monitor di Xcode mostra questa - in crescita da parte di più MB al Itera zione.
C'è un modo per ottenere Strumenti per mostrarmi ciò che Xcode sta vedendo? O c'è uno strumento migliore da usare per scoprire dove sta andando tutta questa memoria?
Grazie!
Quando si esegue l'app tramite profiler, credo che sia impostato su una build di rilascio. Mi chiedo se quando lo stai eseguendo tramite Xcode, se stai costruendo una versione di debug. Controlla i tuoi schemi e assicurati che i due costruiscano la stessa versione. – Rob
Sia "Esegui" che "Profilo" sono impostati per eseguire il debug nell'editor di schemi. A meno che non ci sia un altro posto che potrebbe essere impostato? – NathanGaskin
No, è esattamente dove stavo pensando. È piuttosto comune vedere la build di rilascio per il profilo (e vedere un comportamento diverso rispetto alle build di debug come risultato). E, naturalmente, presumo che in Strumenti, sotto l'impostazione "Tipi registrati" dello Strumento di allocazione nella scheda "Opzioni di registrazione", tu stia registrando tutti i tipi? Molto, molto curioso. Un heisenbug. – Rob