我正在开发一个使用 libpd 运行大量密集音频任务的 Android 应用程序。Libpd 的音频线程具有优先级 Process.THREAD_PRIORITY_URGENT_AUDIO。
三星 Galaxy S3 的 CPU 负载始终保持在 20% 到 30% 之间。这对我来说似乎是合理的,但是,当音频服务在后台运行且 CPU 负载约为 30% 时打开另一个应用程序会导致大量音频丢失。
有人可以解释这种行为吗?我认为像 S3 这样的四核手机的最大负载为 400%(在 adb shell 中使用“top”显示)。因此,我不明白为什么像libpd的音频线程这样高优先级的线程在只使用30%的CPU时却得不到足够的CPU资源。
任何建议将不胜感激,谢谢;)