1

我们现在正在调查这个问题超过一天,只是找不到原因。我们有一个在 iOS6 上运行良好的应用程序,但在 iOS7 上,我们在滚动显示一些自定义 UICollectionViewCells 的 UICollectionView 时随机崩溃。

崩溃本身发生在另一个地方,在

int main(int argc, char *argv[])
{
    @autoreleasepool
    {
        return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
    }
}

堆栈跟踪显示:

#0  0x39210b66 in objc_msgSend ()
#1  0x3102b042 in CA::Display::DisplayLinkItem::dispatch() ()
#2  0x3102adec in CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) ()
#3  0x33c2076c in IOMobileFramebufferVsyncNotifyFunc ()
#4  0x2f8afe6c in IODispatchCalloutFromCFMessage ()
#5  0x2eb8db88 in __CFMachPortPerform ()
#6  0x2eb9877e in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
#7  0x2eb9871a in __CFRunLoopDoSource1 ()
#8  0x2eb96ee6 in __CFRunLoopRun ()
#9  0x2eb01540 in CFRunLoopRunSpecific ()
#10 0x2eb01322 in CFRunLoopRunInMode ()
#11 0x338052ea in GSEventRunModal ()
#12 0x313b81e4 in UIApplicationMain ()
#13 0x0001e69c in main

我以某种方式怀疑问题与单元格内 UIImageViews 的渲染和单元格的重用有关,但到目前为止,我们的试验和错误没有产生任何结果(我们现在也将 UICollectionView 替换为第三方 GMGridView 但问题保持不变)。激活 NSZombies 并没有改变任何事情(仍然崩溃)。在模拟器上,到目前为止还没有发生崩溃。我们使用 ARC,并且在我们的代码中不使用任何 malloc。

我们可以做些什么来追踪这个问题?

4

0 回答 0