我们的应用程序遇到了几次崩溃,想知道您是否有任何见解或有过类似的经历.我已经分享了下面的崩溃日志信息.
运行iOS 8.1.我们已经通过仪器,静态分析仪运行它,并且仍在努力指出问题.
QuartzCore CA::release_objects(X::List<void const*>*) 13 Crashed: Thread EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x0042de0f48aa7488 Thread : Crashed: Thread 0 libobjc.A.dylib 0x0000000193debbdc objc_msgSend + 28 1 CoreFoundation 0x0000000183561228 CFRelease + 524 2 QuartzCore 0x0000000187788644 CA::release_objects(X::List<void const*>*) + 32 3 QuartzCore 0x000000018778e498 -[CAAnimation dealloc] + 80 4 libobjc.A.dylib 0x0000000193df1724 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 564 5 libobjc.A.dylib 0x0000000193df2754 (anonymous namespace)::AutoreleasePoolPage::tls_dealloc(void*) + 72 6 libsystem_pthread.dylib 0x00000001945fa3e0 _pthread_tsd_cleanup + 200 7 libsystem_pthread.dylib 0x00000001945fa0ac _pthread_exit + 140 8 libsystem_pthread.dylib 0x00000001945fb330 pthread_exit + 44 9 Foundation 0x0000000184487000 -[NSObject(NSThreadPerformAdditions) performSelectorOnMainThread:withObject:waitUntilDone:] 10 Foundation 0x0000000184555c24 __NSThread__main__ + 1096 11 libsystem_pthread.dylib 0x00000001945fbe80 _pthread_body + 164 12 libsystem_pthread.dylib 0x00000001945fbddc _pthread_body
解决方法
这里的问题是你在Core Animation没有预料到的对象上做了一个额外的发布,所以问题在你的代码中引入,但是当动画框架进行清理阶段时会暴露出来.
要解决此问题,请使用性能分析.选择Allocations profiler,然后单击Launch Configuration for Heap Allocations下的记录引用计数.
然后,当问题出现时,您将能够看到分配历史记录,并且一个版本将不会配对并且已从您的某个源代码文件中发布.