2011-04-05 69 views
3

只是好奇,有没有人见过那个?MapKit MKMapView“有趣”的蓝色光晕崩溃

我不认为(和希望)我将永远再现这一个...... 所以我不是真的在寻找修复,如果有人遇到这一天,更张贴这个帖子。

编辑:这与释放MKMApView的内存问题无关。地图显示,我正在滚动它。 (我只释放VC上的资源释放)

我刚刚在iOS 4.3.1上的一个MKMapView上点击了一个小小的快速在一些猴子测试期间... 我在一个带有WiFi网络的区域并没有太多的GPS信号,我的猜测是MapView与所有触发事件结合的所有位置事件都是疯狂的。可能还会同时使用MKReverseGeocoder

仅供参考,一个MKDotBounce是关系到用户的位置蓝点......和MKUserLocationAccuracyAnimation开始崩溃......而恢复蓝色光晕......

顺便说一句,我已经注意到了很多次,这很容易晕卡住(甚至在苹果地图) 提交一个bug报告与苹果崩溃报告...

#0 0x35d82698 in ___CFBasicHashFindBucket_Linear() 
#1 0x35cd5654 in CFBasicHashFindBucket() 
#2 0x35cd74a0 in CFDictionaryGetValue() 
#3 0x346b961a in -[NSObject(NSKeyValueObservingCustomization) observationInfo]() 
#4 0x346b95da in _NSKeyValueRetainedObservationInfoForObject() 
#5 0x346b94d8 in -[NSObject(NSKeyValueObserverNotification) willChangeValueForKey:]() 
#6 0x356622d2 in CAAnimation_setter() 
#7 0x35662572 in CAAnimation_setter_kCAValueRetainedPointer() 
#8 0x3566258e in -[CAAnimation setDelegate:]() 
#9 0x35420456 in -[MKUserLocationViewInternal(Animations) dotBounceAnimation]() 
#10 0x3541e2ea in -[MKUserLocationViewInternal(Animations) actionForLayer:forKey:]() 
#11 0x35421bd2 in -[MKUserLocationViewInternal orderInLayer:beginTime:]() 
#12 0x3541ee28 in -[MKDotBounceAnimation runActionForKey:object:arguments:]() 
#13 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:]() 
#14 0x3541ee28 in -[MKDotBounceAnimation runActionForKey:object:arguments:]() 
#15 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:]() 
>>> not a joke, really occured 22k times before EXC_BAD_ACCESS! 
>>> smells an endless loop until pool exhaust 
#22537 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:]() 
#22538 0x3541ee28 in -[MKDotBounceAnimation runActionForKey:object:arguments:]() 
#22539 0x35421c16 in -[MKUserLocationViewInternal orderInLayer:beginTime:]() 
#22540 0x35422134 in -[MKUserLocationViewInternal resumeHalo]() 
#22541 0x35422480 in -[MKUserLocationViewInternal updateHalo]() 
#22542 0x3541ec02 in -[MKUserLocationAccuracyAnimation animationDidStop:finished:]() 
#22543 0x3566771c in run_animation_callbacks() 
#22544 0x35656632 in CA::timer_callback() 
#22545 0x35d46a46 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__() 
#22546 0x35d48eca in __CFRunLoopDoTimer() 
#22547 0x35d49844 in __CFRunLoopRun() 
#22548 0x35cd9ec2 in CFRunLoopRunSpecific() 
#22549 0x35cd9dca in CFRunLoopRunInMode() 
#22550 0x356f941e in GSEventRunModal() 
#22551 0x356f94ca in GSEventRun() 
#22552 0x35940d68 in -[UIApplication _run]() 
#22553 0x3593e806 in UIApplicationMain() 
#22554 0x00003a0a in main 
+0

有关信息,苹果公司,至今没有答复... – 2011-05-24 11:25:14

回答

0

2周后,我没有转载那个bug。

回答我自己的问题,因为显然没有人看到,一个...


编辑:许多星期后:

已经从苹果的答案在我的错误报告,它应该在iOS5中修复。无论如何,并不是任何iOS版本。我猜这是在极端竞赛条件下非常罕见的错误。

这是一个后续的Bug ID#9234544.

工程相信这个问题在安装iOS 5.0测试版1(9A5220p)得到解决。

安装iOS 5.0 beta 1软件后,请将您的结果更新到此错误报告。

+0

文森特,你有链接到苹果的错误报告的答案? – 2011-08-31 15:18:45

+0

@Tuyen添加了苹果邮件内容,没有更多的细节。 – 2011-09-01 15:30:32

1

重新分配你的MKMapView前尝试这种

[self.mapView.layer removeAllAnimations]; 

这是一个众所周知的MKMapView中的bug,如果一个动画回调在它被释放后回到地图视图,它就会爆炸。我希望苹果将您的错误报告标记为重复。

+0

谢谢,但关于提交bug报告......这不是在所有有关释放MapView的同时MapView类是显示的,因此不释放发生。我正在滚动它。 – 2011-04-05 10:21:59