只是出于好奇,有没有人见过那个?
我不认为(也希望)我会重现这一个...... 所以我并不是真的在寻找一个解决方案,如果有人在某一天遇到这个问题,我会发布更多内容。
编辑:这与发布MKMApView
的内存问题无关。地图显示,我正在滚动它。 (我只在VC释放时释放它)
在一些猴子测试中,我“只是”在iOS 4.3.1的MKMapView
上快速点击了一个lil'...
我在一个拥有大量无线网络和GPS信号的区域,我的猜测是MapView坚持所有位置事件以及我触发的所有事件。可能还会同时使用MKReverseGeocoder
。
仅供参考,MKDotBounce与用户位置蓝点相关......由MKUserLocationAccuracyAnimation启动崩溃......同时恢复蓝晕......
顺便说一下,我已经多次注意到这个光环很容易卡住(即使在Apple地图上) 向Apple提交了一份关于崩溃报告的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 :(得分:1)
在解除分配MKMapview
之前尝试此操作[self.mapView.layer removeAllAnimations];
这是MKMapView中一个众所周知的错误,如果动画回调在被解除分配后返回到地图视图,它就会爆炸。我希望Apple将您的错误报告标记为重复。
答案 1 :(得分:0)
2周后,我没有复制那个错误。
回答我自己的问题,因为很明显没有人见过那个......
编辑:几周后:
在我的错误报告中得到Apple的回答,它应该在iOS5中得到修复。无论如何都没有复制,而且,在任何iOS版本上都没有。我猜这是极端种族条件下非常罕见的错误。
这是Bug ID#9234544的后续行动。
Engineering认为此问题已在iOS 5.0 beta 1(9A5220p)中得到解决。
安装iOS 5.0 beta 1软件后,请使用您的结果更新此错误报告。