This post is from the WWDC26 UIKit Q&A.
We are experience hundreds of long hitches when volumn is changed, it looks like app stuck on rendering. Is this resolved in iOS27?
There is the callstack:
Thread 0:
0 QuartzCore -[CALayer animationForKey:] + 172
1 QuartzCore -[CALayer animationForKey:] + 124
2 UIKitCore -[UIViewAnimationState _shouldAnimateAdditivelyForKey:onLayer:forView:] + 356
3 UIKitCore -[UIViewAnimationState actionForLayer:forKey:forView:] + 192
4 UIKitCore +[UIView(Animation) _defaultUIViewActionForLayer:forKey:] + 88
5 UIKitCore -[UIView(UIKitManual) actionForLayer:forKey:] + 328
6 QuartzCore -[CALayer actionForKey:] + 152
7 QuartzCore CA::Layer::begin_change(CA::Transaction*, unsigned int, objc_object*, objc_object*&) + 208
8 QuartzCore CA::Layer::set_bounds(CA::Rect const&, bool) + 348
9 QuartzCore -[CALayer setBounds:] + 132
10 QuartzCore -[CALayer setFrame:] + 408
11 UIKitCore -[UIView _backing_setFrame:] + 244
12 UIKitCore -[UIView(Geometry) setFrame:] + 348
13 UIKitCore -[_UISlideriOSVisualElement _layoutSubviewsForBoundsChange:] + 1144
14 UIKitCore -[_UISlideriOSVisualElement _setValue:andSendAction:] + 248
15 UIKitCore +[UIView(UIViewAnimationWithBlocks) _setupAnimationWithDuration:delay:view:options:factory:animations:start:animationStateGenerator:completion:] + 548
16 UIKitCore +[UIView(UIViewAnimationWithBlocks) animateWithDuration:delay:options:animations:completion:] + 48
17 UIKitCore -[_UISlideriOSVisualElement setValue:animated:] + 628
18 MediaPlayer -[MPVolumeSlider _updateVolumeAnimated:silenceVolumeHUD:] + 148
19 MediaPlayer -[MPVolumeController volumeControllerDataSource:didChangeVolume:silenceVolumeHUD:] + 104
20 MediaPlayer -[MPVolumeControllerSystemDataSource _notifyVolumeDidChage:silenceVolumeHUD:] + 84
21 MediaPlayer -[MPVolumeControllerSystemDataSource updateVolume:silenceVolumeHUD:] + 116
22 MediaPlayer __61-[MPVolumeControllerSystemDataSource _systemVolumeDidChange:]_block_invoke_2 + 260
23 libdispatch.dylib _dispatch_call_block_and_release + 32
24 libdispatch.dylib _dispatch_client_callout + 16
25 libdispatch.dylib _dispatch_main_queue_drain.cold.6 + 832
26 libdispatch.dylib _dispatch_main_queue_drain + 176
27 libdispatch.dylib _dispatch_main_queue_callback_4CF + 44
28 CoreFoundation __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 16
29 CoreFoundation __CFRunLoopRun + 1944
30 CoreFoundation _CFRunLoopRunSpecificWithOptions + 532
31 GraphicsServices GSEventRunModal + 120
32 UIKitCore -[UIApplication _run] + 796
33 UIKitCore UIApplicationMain + 332