ho utilizzato il profiler di guardare fuori per le perdite di memoria e sono imbattuto in questo problema:iOS: come identificare la perdita dagli strumenti Xcode?
sono passato a chiamare Albero.
Così ho potuto fare clic su di esso per saperne di più su di esso:
Ma in realtà non mi darà alcun indizio. Come dovrei sapere cosa stava causando la perdita?
UPDATE:
- l'albero chiamata con librerie di sistema indicato è aggiornato sopra.
- informazioni sugli oggetti trapelata:
- qualche descrizione di ciò che si fa in app per riprodurre questa perdita:
La nostra applicazione è la sincronizzazione con il nostro resto- API all'avvio (primo piano) dell'app. Funziona sempre con iOS 7/iPhone 4S. Ma un altro sviluppatore ha iOS7/iPhone 5 e gira raramente nel problema che non si sincronizza. Dopo 10 giorni di osservazione e mettendo NSLogs
ovunque, abbiamo trovato questo la scorsa notte:
Dec 15 03:18:58 appname[4801] <Warning>: A gateway to the host server is working via WWAN.
Dec 15 03:18:58 appname[4801] <Warning>: Syncing...
Dec 15 03:18:58 appname[4801] <Warning>: Eventname to be fired: f11-reachability
Dec 15 03:18:58 appname[4801] <Warning>: Sync event IOS_REACHABILITY reached.
Dec 15 03:18:58 appname[4801] <Warning>: Sync: IOS_SYNC_WITH_SERVER is true
Dec 15 03:18:58 appname[4801] <Warning>: Animating indicator...
Dec 15 03:18:58 appname[4801] <Warning>: Getting last timestamp: 1387003344.407783 then calling syncWithServerWithDate
Dec 15 03:19:27 com.apple.launchd[1] <Notice>: (UIKitApplication:com.apple.mobilecal[0x45fb]) Exited: Killed: 9
Dec 15 03:19:27 com.apple.launchd[1] <Notice>: (com.apple.afcd) Idle-exit job was jettisoned. Will bypass throttle interval for next on-demand launch.
Dec 15 03:19:27 com.apple.launchd[1] <Error>: (com.apple.afcd) assertion failed: 11B554a: launchd + 35697 [3C91C465-EFA6-32C7-A677-DD0B5FDEE0DC]: 0x9
Dec 15 03:19:27 com.apple.launchd[1] <Notice>: (com.apple.absd) Idle-exit job was jettisoned. Will bypass throttle interval for next on-demand launch.
Un terzo tentativo di sincronizzare (premendo il pulsante di casa e tornare a primo piano) ci ha dato questo, che ha indicato un basso di memoria:
Dec 15 03:25:18 C1 appname[4801] <Warning>: Getting last timestamp: 1387003344.407783 then calling syncWithServerWithDate
Dec 15 03:25:29 C1 profiled[6244] <Notice>: (Note) profiled: Service stopping.
Dec 15 03:25:40 C1 crash_mover[6248] <Notice>: (Warn) <crash_mover.m mv_recursive:98> Moving './LowMemory-2013-12-14-160222.plist' -> '/var/mobile/Library/Logs/CrashReporter/LowMemory-2013-12-14-160222.plist'
Quindi ho pensato di dare il profiler e vedere se trovo qualcosa.
Per riprodurlo, ho avviato l'app, sono andato alla schermata Home, quindi ho premuto il Simulate a Low Memory
e poi ho fatto clic sull'app per tornare in primo piano. Questo è dove ottengo il picco rosso.
- quale versione Xcode stai utilizzando.
Xcode 5.02. iOS 7.04 su iPhone 4S (OK), iPhone 5 (caso edge rare)
Spero che questo aiuti. Grazie
Tutte quelle piccole scatole a sinistra sotto il "Call Tree" voce .. Io di solito trovare cliccando tutti loro produce risultati molto più leggibile. –
Quando hai simulato manualmente l'avviso di memoria, hai manifestato l'errore di sincronizzazione riscontrato dal tuo collega? – Rob