"не удалось возобновить вовремя" при возобновлении работы в фоновом режиме
Хорошо, так что при переходе на задний план я все скрываю. Я все еще получаю не удалось возобновить во время ошибки при переключении обратно. Почему происходит сбой в 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
1 ответ
Используйте инструменты (в частности, акулу), чтобы узнать, что происходит.
Причина, по которой Springboard убивает ваше приложение, заключается в том, что вы приближаетесь к превышению допустимых 10 секунд (кажется, что Apple никогда не публикует точное число, но, по общему мнению, оно привязано к 10).
Elapsed total CPU time (seconds): 9.880 (user 7.320, system 2.560), 97% CPU
Когда программа аварийно завершает работу, она может рисовать - откуда вы знаете, что она не выполняет какую-то другую задачу в течение 8 секунд, а затем выполняет рисование в течение 1,5? Вот где я бы использовал Shark, чтобы узнать, сколько времени занимает процессорное время.
Затем проанализируйте это, чтобы увидеть, что с этим можно сделать.