1

在 Mac OS 10.8 上,我的应用程序中收到以下警告:

CoreAnimation: warning, deleted thread with uncommitted CATransaction;

它建议在环境中打开 CA_DEBUG_TRANSACTIONS=1 以记录回溯,我这样做了。

这是我的回溯的顶部:

0 石英核心 0x00007fff88a84b95 _ZN2CA11Transaction4pushEv + 219
1 石英核心 0x00007fff88a8476d _ZN2CA11Transaction15ensure_implicitEv + 273
2 石英核心 0x00007fff88a8bb6a _ZN2CA5Layer12begin_changeEPNS_11TransactionEjRP11objc_object + 44
3 石英核心 0x00007fff88a8cb4e _ZN2CA5Layer10set_boundsERKNS_4RectEb + 452
4 石英核心 0x00007fff88a8c908 -[CALayer setBounds:] + 189

有谁知道这个警告是什么,以及如何避免它?

4

1 回答 1

7

我发现在CATransaction禁用操作的情况下将有问题的代码包装起来会使警告消失。

IE

[CATransaction begin];
[CATransaction setDisableActions:YES];
layer.bounds = CGRectMake(0, 0, 1000, 1000);
[CATransaction commit];
于 2012-08-09T12:13:17.823 回答