我偶尔会在使用iOS 6 MapKit时崩溃。不能真的复制它。是什么导致了这种情况?
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000044
Crashed Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 IMGSGX543GLDriver 0x38f231b4 sgxTextureGetImageRowBytes(GLDTextureRec*, unsigned int, unsigned int) + 8
1 IMGSGX543GLDriver 0x38f23160 CalculateChunkPlaneSizes(GLDTextureRec*, int, unsigned int*, unsigned int*, unsigned int*, unsigned int*) + 104
2 IMGSGX543GLDriver 0x38f25906 sgxConfigureTexturePrivate(GLDTextureRec*) + 82
3 IMGSGX543GLDriver 0x38f24584 glrUpdateTexture + 616
4 libGPUSupportMercury.dylib 0x342c76b6 gldLoadFramebuffer + 102
5 GLEngine 0x31b50e52 gleUpdateDrawFramebufferState + 178
6 GLEngine 0x31b52556 gleDoDrawDispatchCoreES2 + 126
7 GLEngine 0x31aedbc0 gleDrawArraysOrElements_Entries_Body + 140
8 GLEngine 0x31aea5ec glDrawArrays_ES2Exec + 160
9 VectorKit 0x3780dcd6 -[VKSkyModel drawScene:withContext:] + 326
10 VectorKit 0x377e76d6 -[VKModelObject recursiveDrawScene:whenReadyWithContext:] + 118
11 VectorKit 0x377621ea -[VKMapModel recursiveDrawScene:withContext:] + 278
12 VectorKit 0x37762096 -[VKModelObject recursiveDrawScene:withContext:] + 186
13 VectorKit 0x3775d4da -[VKScreenCanvas onTimerFired:] + 1014
14 VectorKit 0x3775b548 -[VKMapCanvas onTimerFired:] + 500
15 VectorKit 0x3775a3d2 -[VKMainLoop displayTimerFired:] + 610
16 QuartzCore 0x3095b06c CA::Display::DisplayLink::dispatch(unsigned long long, unsigned long long) + 156
17 QuartzCore 0x3095afc4 CA::Display::IOMFBDisplayLink::callback(__IOMobileFramebuffer*, unsigned long long, unsigned long long, unsigned long long, void*) + 60
18 IOMobileFramebuffer 0x331e4fd4 IOMobileFramebufferVsyncNotifyFunc + 152
19 IOKit 0x36fc4446 IODispatchCalloutFromCFMessage + 190
20 CoreFoundation 0x382a95d8 __CFMachPortPerform + 116
21 CoreFoundation 0x382b4170 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 32
22 CoreFoundation 0x382b4112 __CFRunLoopDoSource1 + 134
23 CoreFoundation 0x382b2f94 __CFRunLoopRun + 1380
24 CoreFoundation 0x38225eb8 CFRunLoopRunSpecific + 352
25 CoreFoundation 0x38225d44 CFRunLoopRunInMode + 100
26 GraphicsServices 0x3415f2e6 GSEventRunModal + 70
27 UIKit 0x351b72fc UIApplicationMain + 1116
28 MyApp 0x0005d78a main (main.m:14)
29 MyApp 0x0005d744 start + 36发布于 2012-12-24 18:26:07
我找到了这个。它可能会帮助你解决你的问题。
“问题:基于OpenGL ES的应用程序在调用presentRenderbuffer后显示”闪烁“或”陈旧“帧。当OpenGL ES应用程序调用EAGL presentRenderBuffer方法而没有首先绘制任何内容时,可能会出现这种症状。屏幕上显示的内容可能包含未初始化的像素或以前呈现的帧。要解决此问题,应始终在调用presentRenderbuffer之前在帧缓冲区中绘制一些内容。另请注意,除非您在CAEAGLLayer上设置RetainedBackbuffer属性以启用保留的后台缓冲区模式,否则不能保证renderbuffer的内容在调用presentRenderbuffer后仍然有效”。
-Lewis
发布于 2013-03-27 21:39:16
实际上,我发现了iOS版本的问题。用户在iOS 6.1.2的iPad 4上运行,我一升级到6.1.3,这个问题就消失了。希望这对某些人有帮助。
谢谢,蒂姆
发布于 2013-07-15 15:26:06
我遇到了这个问题,结果是一个与记忆压力有关的崩溃。对于我来说,当地图在第四次或第五次显示时出现黑色背景而不是任何瓦片或网格背景时,它总是崩溃。这发生在iOS 6.0和6.1以及7.0的测试版上。
我的带有地图视图的视图控制器在从导航堆栈中删除后没有被释放,并且它对地图视图的引用很强,而地图视图将它保存在内存中。
在修复了我的漏洞之后,问题就消失了。
https://stackoverflow.com/questions/13514296
复制相似问题