I am developing an Android App which runs a lot of intensive audio tasks using libpd. Libpd's audio thread has the priority Process.THREAD_PRIORITY_URGENT_AUDIO.
The cpu load stays constantly between 20% and 30% on a Samsung Galaxy S3. This seems reasonable for me, however, opening another app while the audio service is running in background with about 30% cpu load causes a lot of dropouts in audio.
Can someone explain this behaviour? I thought the max load on a quadcore phone like the S3 would be 400% (displayed using "top" in the adb shell). Therefore, I do not understand why such a highly priorized Thread as libpd's audio thread does not get enough CPU resources when using only 30% of the CPU.
Any advice would be much appreciated, thank you ;)