“没有及时恢复”,从后台崩溃恢复

好,所以去背景我隐藏了一切。 当我切换回来时,仍然无法及时恢复。 为什么如果一切都隐藏在drawRect崩溃? 任何想法如何处理这样的“失败恢复”错误?

Incident Identifier: 0E5ADFDF-1EB1-4ECC-9F02-57B37F1BBBA1 CrashReporter Key: 17186e938075dd5907223199eccdc85176f18698 Hardware Model: iPad1,1 Process: hexProto [2162] Path: /var/mobile/Applications/31D43A9F-0EF3-4D03-89AC-243B68F75D91/hexProto.app/hexProto Identifier: hexProto Version: ??? (???) Code Type: ARM (Native) Parent Process: launchd [1] Date/Time: 2010-12-10 15:56:11.615 -0800 OS Version: iPhone OS 4.2 (8C134) Report Version: 104 Exception Type: 00000020 Exception Codes: 0x8badf00d Highlighted Thread: 0 Application Specific Information: Annexation failed to resume in time Elapsed total CPU time (seconds): 9.880 (user 7.320, system 2.560), 97% CPU Elapsed application CPU time (seconds): 7.650, 75% CPU Thread 0: 0 ImageIO 0x00009740 ImageIO_ABGR_TO_ARGB_8Bit + 44 1 ImageIO 0x00006ade ImageProviderCopyImageBlockSetCallback + 210 2 CoreGraphics 0x00009052 CGImageProviderCopyImageBlockSetWithOptions + 226 3 CoreGraphics 0x00008f5c CGImageProviderCopyImageBlockSet + 32 4 CoreGraphics 0x00008c8a img_blocks_create + 182 5 CoreGraphics 0x00025e1a img_blocks_extent + 42 6 CoreGraphics 0x00025d06 img_interpolate_extent + 70 7 CoreGraphics 0x00004e90 img_data_lock + 4376 8 CoreGraphics 0x00003668 CGSImageDataLock + 104 9 libRIP.A.dylib 0x0000c658 ripc_AcquireImage + 2676 10 libRIP.A.dylib 0x00009c6e ripc_DrawImage + 462 11 CoreGraphics 0x00003520 CGContextDelegateDrawImage + 44 12 CoreGraphics 0x000033de CGContextDrawImage + 250 13 UIKit 0x000148aa -[UIImage drawInRect:blendMode:alpha:] + 1182 14 UIKit 0x0003affe -[UIImage drawInRect:] + 50 15 hexProto 0x00047782 -[NormalButton drawRect:] (NormalButton.m:48) 16 UIKit 0x000132d2 -[UIView(CALayerDelegate) drawLayer:inContext:] + 258 17 QuartzCore 0x000152fe -[CALayer drawInContext:] + 86 18 QuartzCore 0x0001507c backing_callback(CGContext*, void*) + 32 19 QuartzCore 0x00014af2 CABackingStoreUpdate + 1226 20 QuartzCore 0x0001435c -[CALayer _display] + 724 21 QuartzCore 0x0001406a -[CALayer display] + 134 22 QuartzCore 0x00013fb0 CALayerDisplayIfNeeded + 176 23 QuartzCore 0x0000956e CA::Context::commit_transaction(CA::Transaction*) + 214 24 QuartzCore 0x0000937c CA::Transaction::commit() + 184 25 QuartzCore 0x000092bc CA::Transaction::pop() + 120 26 QuartzCore 0x0000923a +[CATransaction commit] + 18 

使用仪器(特别是鲨鱼)来了解正在发生的事情。

Springboard杀死你的应用程序的原因是因为你接近超过允许的10秒(苹果公司似乎从来没有公布过确切的数字,但是普遍的看法似乎认为它是10)。

 Elapsed total CPU time (seconds): 9.880 (user 7.320, system 2.560), 97% CPU 

当程序崩溃时,可能是在做一些绘图 – 你怎么知道它没有做8秒的其他任务,然后做1.5的绘图? 那就是我使用Shark来找出占用CPU时间百分比最多的地方。

然后,分析一下,看看可以做些什么。