This sounds really odd, but I'm wondering if anyone else has run into this situation on IOS 8.
I have an app that receives low latency audio via UDP using GCDAsyncUdpSocket, and it receives about a 200 byte packet every 20ms. Works great in the foreground, background, etc.
However, if I slide up the Control Center on IOS 8+ while my app is running, the responsiveness of the socket becomes extremely bursty (I get bursts of packets with about 350 to 400ms pauses every half second) for the next 40 seconds or so, then it goes away and begins to work normally. Debugging into the GCDAsyncUDPSocket calls I can see that the GCD event handler is called at this delayed interval (it doesn't seem to be my code).
If I use my app via a cellular connection then it is perfectly fine during the Control Center slide up (no pausing/delaying). This is only a situation with WiFi.
This is not a problem on IOS 7 or IOS 6.
It happens on all models of the iPhone from iPhone 4 through the 6 Plus.
Has anyone else seen this problem? Any suggestions? I'd hate to do it, but should I look at a non-GCD based networking API?