mam wykorzystane profilera aby zwrócić uwagę na wycieki pamięci i natknąłem się na ten problem:iOS: Jak zidentyfikować wyciek z instrumentów Xcode?
przeszedłem zadzwonić Tree.
Mogłem więc kliknij na nim, aby dowiedzieć się więcej na ten temat:
Ale tak naprawdę nie daje mi żadnego pojęcia. Skąd mam wiedzieć, co spowodowało wyciek?
UPDATE:
- drzewo wezwanie z bibliotek systemowych przedstawionych powyżej jest aktualizowana.
- informacje o obiektach wyciekły:
- jakiś opis tego, co robisz w aplikacji, aby odtworzyć ten wyciek:
Nasza aplikacja synchronizuje się z naszą REST- API po uruchomieniu (pierwszym planie) aplikacji. To działa zawsze na moim iOS 7/iPhone 4S. Ale inny programista ma iOS7/iPhone 5 i rzadko sięga do problemu, który nie jest zsynchronizowany. Po 10 dniach obserwacji i oddanie NSLogs
wszędzie, znaleźliśmy tę ostatnią noc:
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.
Trzecia próba synchronizacji (HOME naciśnięcie przycisku, a wracając do planie) dał nam to, co wskazywało na niską pamięci:
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'
Więc pomyślałem, że mogę dać profilerowi i sprawdzić, czy coś znajdę.
Aby go odtworzyć, uruchomiłem aplikację, przeszedłem do ekranu głównego, następnie nacisnąłem przycisk Simulate a Low Memory
, a następnie kliknąłem aplikację, aby powrócić na pierwszy plan. To tutaj dostaję czerwony kolec.
- jaka jest używana wersja Xcode.
Xcode 5.02. iOS 7.04 na iPhone 4S (OK), iPhone 5 (rzadki przypadek krawędzi)
Mam nadzieję, że to pomoże. Dziękujemy
Wszystkie te małe pudełka po lewej stronie pod nagłówkiem "Wywołanie drzewa". Zazwyczaj kliknięcie wszystkich z nich daje znacznie bardziej czytelne wyniki. –
Po ręcznym zasygnalizowaniu ostrzeżenia o pamięci wystąpił błąd synchronizacji, którego doświadczał Twój współpracownik? – Rob