Hi.
Sorry for the delay, but I've been trying a lot of things to see if I can solve this, with no success at all.
I have been testing the game in a lot of devices and if I remove the sounds the game runs at constant 60fps in every hardware tested, even in old tablets.
The problem I'm facing is that even with only one sound used I can see the micro freeze.
If you google soundpool lag you can see many people is having a similar issue.
I have tried adding 1 sec to every sound (as suggested
here) but with no luck.
I've used your OpenSL library but same result.
Converted all sounds to 44KHz, but same result
Thinking it can be a poor optimization of my game I've been doing many things (atlas instead of single textures, downscaled the background images, reduced the points of my box2d objects, filters to nearest...) no luck, same behavior
In my case sometimes I see a micro freeze when the sound stops playing. Weird.
The only solution I see is repeating a sound. Right now I'm playing a 90ms empty sound every 100ms, and stutter is gone. It's curious that if I play the same sound every 200ms the stutter becomes horrible. It looks like if something is playing the stutter dissapears. (before this I was soing it with the repeat2 function but sometimes it stopped playing, stuttering again until the next call, maybe when I reached max simultaneous sounds)
With the mute sound playing I get stable 60fps in my moto G. But I have 59fps with little drops on a Nexus5 and same in a S4, wich are powerful devices, but a stable 60fps in crappy old tablet!. Not very noticeable, but I can see then (some friends of mine say I don't have to worry, they barely can notice it, but I think it's a problem if a game isn't smooth)
My game is an Angry birds like game. With a catapult. So when I launch a stone the camera starts following the stone. And that's when the launching sound stops playing and when I see the micro freeze. If the micro freeze where in any other moment of the game I wouldn´t care that much, but the moment the camera starts moving is very important for the game to see a freeze.
I'm very discouraged right now...