IOS Audio stuttering

Does anyone know what causes audio stuttering in IOS?
We’ve got an mp3 looping as our background music. After going through a number of iterations (ie different sections in our app) the music begins to stutter really bad.
Mono memory does not indicate a big usage (we tend to keep it between 7-10MB).
We also log Kernel available memory, and that seems to be fine also. On the IOS it reports about 20MB free before it start stuttering, in the early stages, it also reports about the same with a resident memory about 80MB.
Anyone from unity know what can cause the audio thread to starve?
We’ve also set the audio settings to best performance as oppose to best latency. We’ve tried all 3 methods to no avail.

Unfortunately, due to the nature of the app we tend to keep destroying and re-creating game objects. Number of game objects average about 3K or so…
It seems to be handling it at the early stages…
We’ve also made sure that games objects count remain the same… no leaks…
Also have dispensed with Resources.UnloadUnusedAssets (we destroy them properly as indicated by the number of game objects after destroying.

Are we missing anything obvious which would cause the stutter?

From what you have described, I’ve got the same issue. Been using Unity 3.5 Pro ever since. Started all so swell with our own SoundManager and as app development progressed, it stutters in almost noticable fixed time intervals – even on a scene were nothing happens in the background and wasn’t changed since the start of the development (e.g. our titlescreen).

Anybody have resolved this? At least, what other thing in the Engine causes audio playback to starve.

I had a similar problem with sound samples, what I found cured it was to make sure my sound clips were NOT set to 3D in the inspector, and they are saved as .wav files.

Make sure your sounds are pre-loaded into memory. You can set this by clicking on the sound file in your Asset heirarchy, then setting the load option. This can help performance a little although will use more memory obviously.

Have you done any profiling? Your game may be causing the CPU processor to overload thus causing the sound to clip. Perhaps see if that is happening with the profiler.

@Greg: Yeah I did. And one thing I noticed is that it stutters the same way as when the profiler prints things on the screen. I turned off the profiler but stuttering is still there at the same intervals.

Ok! I found the solution to mine. It seems there was a code in my update where every 30th frame it calls GC.Collect(). Garbage collection is improperly placed. I removed it and there are no stutters again.