-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tableView使用MessageThrottle崩掉了,在工程中偶现,bugly收集到了一些 #17
Comments
请问限频的对象有使用 KVO 么?如果有的话,可以升级到 1.4.1 |
有 crash.log 之类的完整日志么 |
目前没有crash.log的完整日志,我使用的版本是1.4.1版本,我继续观察,如果有的话会发给你的 |
好的,感谢 |
会有可能出现这种可能吗? 在主循环的过程中,对象A被回收,同时之前某个时刻的延迟操作(MTPerformModeLast模式)也在这个循环中执行,这时候invokingLastInvocation执行的时候调用[self deallocObject]去访问被回收的对象A,从而导致崩溃。 static void mt_handleInvocation { ==================
|
|
是否有其他线程可能会触发释放掉 tableView 呢 @fangYaLei110 |
从我们的崩溃日志来看,这个对象的确是被释放了,然后invokingLastInvocation才会被调用 |
虽然我还没复现 target 被释放的场景,但我先加了个保护兜底,可以使用 1.4.2 版本试试 @carbon1985 @fangYaLei110 |
我们是用arc的,多线程读写应该不会有这个问题吧,我看了一下日志和崩溃堆栈,也都是在主线程上执行的 |
主要是没有想到 target 被释放的原因,可能是在 |
我们的工程中好多因为这个问题崩溃的,但是目前也不知道什么原因,我想着使用pod更新到1.4.2,但是发现pod里面并没有搜索到1.4.2版本 |
是可以搜到的:https://cocoapods.org/pods/MessageThrottle |
好的,非常感谢,已经搜到,我们做灰度测试一下 |
请问后续还有碰到此问题么 @fangYaLei110 |
libobjc.A.dylib
_objc_setAssociatedObject + 48
1
BuGeElectricContest
-[MTRule deallocObject] (MessageThrottle.m:179)
2
BuGeElectricContest
-[MTRule deallocObject] (MessageThrottle.m:179)
3
BuGeElectricContest
-[MTRule invokingLastInvocation] (MessageThrottle.m:190)
4
libdispatch.dylib
__dispatch_client_callout + 16
13
UIKitCore
_UIApplicationMain + 164
14
BuGeElectricContest
main (main.m:14)
15
libdyld.dylib
_start + 4
The text was updated successfully, but these errors were encountered: