libpd を使用して多くの集中的なオーディオ タスクを実行する Android アプリを開発しています。libpd のオーディオ スレッドの優先度は Process.THREAD_PRIORITY_URGENT_AUDIO です。
Samsung Galaxy S3 では、CPU 負荷が常に 20% から 30% の間で維持されます。これは私には理にかなっているように思えますが、オーディオ サービスが約 30% の CPU 負荷でバックグラウンドで実行されているときに別のアプリを開くと、オーディオで多くのドロップアウトが発生します。
誰かがこの動作を説明できますか? S3 のようなクアッドコア電話の最大負荷は 400% になると思いました (adb シェルで「top」を使用して表示されます)。したがって、CPU の 30% しか使用していないのに、libpd のオーディオ スレッドのような非常に優先度の高いスレッドが十分な CPU リソースを取得できない理由がわかりません。
どんなアドバイスでも大歓迎です、ありがとう;)