音声通信アプリを開発しています。私のアプリには、6 つのスレッドがあります (
1. TCP ソケットを介して PC からデータを受信する、
2. jni を使用して受信データをデコードする、
3. AudioTrack を使用してデコードされたデータを再生する、
4. AudioRecord を使用して pcm データを記録する、
5. を使用して pcm データをエンコードするjni; 6.
サービスで実行されている
別の TCP ソケットを介してエンコードされたデータを送信します。
それは主な活動でうまくいきます。ただし、問題は、ホームを押すと、2 つのソケットの動作が遅くなることです。アクティビティのようにすばやくデータを送受信できないため、両側で音声の遅延が発生します。メインアクティビティに戻ると、再びうまく機能します。
を使用してスレッドの優先順位を既に設定しています
が、まったく機能しません。android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_URGENT_AUDIO);
誰かアドバイスをくれませんか?