在我們的iPhone應用程序中,我們收到了一些Crashlytics崩潰,至今無法複製。然而,仔細觀察,我發現有點的趨勢...iOS:Crashlytics崩潰報告和可用RAM
碰撞1: - [UINavigationTransitionView _notifyDelegateTransitionDidStopWithContext:]
免費RAM:10%
崩潰2 : - [UINavigationTransitionView _notifyDelegateTransitionDidStopWithContext:]
Free RAM:8%
崩潰3:HostBase ::鎖()
免RAM:8%
崩潰4: - [UINavigationTransitionView _notifyDelegateTransitionDidStopWithContext:]
免RAM:22%
可用RAM的數量是否意味着什麼?我們可以確定這些是真正的崩潰,而不是我們的應用程序由於內存不足而被操作系統殺死?如果應用在後臺崩潰,Crashlytics會發送崩潰報告嗎?
增加了幾個堆棧跟蹤...
異常類型:SIGSEGV,導航崩潰
0 libobjc.A.dylib
objc_msgSend + 15
1 UIKit ✭
-[UINavigationTransitionView _notifyDelegateTransitionDidStopWithContext:] + 274
2 UIKit
-[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 158
3 UIKit
-[UIViewAnimationState animationDidStop:finished:] + 50
4 QuartzCore
CA::Layer::run_animation_callbacks(void*) + 208
5 libdispatch.dylib
_dispatch_client_callout + 22
6 libdispatch.dylib
_dispatch_main_queue_callback_4CF$VARIANT$mp + 224
7 CoreFoundation
__CFRunLoopRun + 1290
8 CoreFoundation
CFRunLoopRunSpecific + 356
9 CoreFoundation
CFRunLoopRunInMode + 104
10 GraphicsServices
GSEventRunModal + 74
11 UIKit
UIApplicationMain + 1120
異常類型:SIGSEGV,HostLock崩潰
0 libobjc.A.dylib
objc_msgSend + 15
1 CFNetwork ✭
HostBase::lock() + 14
2 CFNetwork
DispatchHost::performInvocation(void const*) + 12
3 CFNetwork
__setupTCPConnection_block_invoke_2 + 290
4
...
libsystem_network.dylib
__tcp_connection_notify_complete_block_invoke_1 + 18
7 libsystem_c.dylib
_pthread_wqthread + 294
什麼是異常類型,可以顯示更多堆棧跟蹤?現在人們只能做野蠻的猜測。 – Kerni
當然,將它們添加進去。我試圖弄清楚可用的RAM數量是否與這個問題有關(例如操作系統正在查殺我的應用程序,並將其視爲崩潰),或者如果低RAM只是一個紅鯡魚。 – MikeS
我知道這是一個古老的線程,但爲了別人的緣故。應用程序在低內存條件下被殺的事實並不意味着它不是主要的豬。應用程序在內存不足的情況下會崩潰,因爲各種資源分配調用會偶爾發生故障。如果你正在泄漏內存,你的應用程序可能會負責將自己置於這種受限制的內存條件下。其中一些條件可以妥善處理,有些則不能。 –