MapKit MKMapView“有趣”的蓝色光晕崩溃
只是好奇,有没有人见过那个?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
2周后,我没有转载那个bug。
回答我自己的问题,因为显然没有人看到,一个...
编辑:许多星期后:
已经从苹果的答案在我的错误报告,它应该在iOS5中修复。无论如何,并不是任何iOS版本。我猜这是在极端竞赛条件下非常罕见的错误。
这是一个后续的Bug ID#9234544.
工程相信这个问题在安装iOS 5.0测试版1(9A5220p)得到解决。
安装iOS 5.0 beta 1软件后,请将您的结果更新到此错误报告。
文森特,你有链接到苹果的错误报告的答案? – 2011-08-31 15:18:45
@Tuyen添加了苹果邮件内容,没有更多的细节。 – 2011-09-01 15:30:32
重新分配你的MKMapView前尝试这种
[self.mapView.layer removeAllAnimations];
这是一个众所周知的MKMapView中的bug,如果一个动画回调在它被释放后回到地图视图,它就会爆炸。我希望苹果将您的错误报告标记为重复。
谢谢,但关于提交bug报告......这不是在所有有关释放MapView的同时MapView类是显示的,因此不释放发生。我正在滚动它。 – 2011-04-05 10:21:59
有关信息,苹果公司,至今没有答复... – 2011-05-24 11:25:14