2010-12-11 124 views
2

好吧,等到後臺我隱藏了一切。當我切換回來時,仍然無法及時恢復錯誤。爲什麼如果一切都隱藏起來,它會在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 
+0

您是否實現了applicationWillEnterForeground方法等? – Jumhyn 2010-12-11 00:35:30

+0

嗯,我只是在辭職活動後讓所有的東西都隱藏起來。我從來沒有把它們放回可見狀態。仍然試圖畫畫。 – Blaze 2010-12-11 00:50:14

+0

我相信即使視圖被隱藏,drawRect有時也會被調用。任何想法是什麼導致它在該方法崩潰? – Jumhyn 2010-12-11 01:00:14

回答

2

使用儀器(特別是鯊魚)來找出發生了什麼。

Springboard殺死你的應用程序的原因是因爲你接近超過允許的10秒(蘋果公司似乎從未發佈確切的數字是什麼,但普遍的看法似乎已將它定爲10)。

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

當程序崩潰,可代做拉絲 - 你怎麼知道它不是做一些其他的任務,持續8秒,然後做拉伸1.5?這就是我使用Shark找出佔用CPU時間百分比最多的地方。

然後,分析一下,看看可以做些什麼。

+0

這是一個非常好的主意。我會嘗試。 – Blaze 2010-12-12 01:44:22

+0

讓我知道它是怎麼回事。如果它不能解決您的問題,請告訴我! – makdad 2010-12-13 00:17:14