まず、他のコードへのリンクを参照するのに適切かどうかわかりませんが、謝罪して、この場合にはもっと適切なメカニズムが何であるか理解したいと思います(これらのリンクは主に利害関係者への参照として提供されている)。webRTCネイティブのAndroidアプリに特定のスレッドモデルが必要です
私たちは、peerconnectionfactoryの処分を呼び出す際に問題になるアンドロイド用のwebrtcネイティブアプリを持っています。ユーザーがアクティブなセッションを終了することを選択すると、ピア接続をクローズして破棄するクリーンアップルーチンがあります(ただしcloseは本当に必要ではありませんが、disposeへの呼び出しも他のリソースを解放する前に接続を閉じる - ストリームやネイティブ・オブザーバなど - libjingle-talk/app/webrtc/java/src/org/webrtc/PeerConnection.javaを参照してください)。私たちの場合、peerconnectionfactoryの作成は、実行可能ファイルを介して作成されたスレッドによって実行されますが、ファクトリの処分はメインUIスレッドから実行されます。
これは問題に遭遇するところです。つまり、peerconnectionfactoryを処分しようとするとアプリがクラッシュします。
webRTCデモコード(https://chromium.googlesource.com/external/webrtc/+/master/webrtc/examples/androidapp/src/org/appspot/apprtcを参照)に関連する投稿のレビューでは、この問題は発生していないようです。
また、ピア接続ファクトリ実装(peerconnectionfactory.ccのhttps://code.google.com/p/chromium/codesearch#chromium/src/third_party/webrtc/api/peerconnectionfactory.ccを参照)のネイティブコードを確認すると、ピア接続ファクトリデストラクタのワーカースレッドのアンラッピングと削除が確認できます。
さらに、chromium webrtcの問題リストをレビューすると、使用時に使用されるスレッディング/ループモデルに関連して特別な注意が必要であると信じるいくつかの問題(例:https://bugs.chromium.org/p/webrtc/issues/detail?id=3100または4196)がありますピアコネクションファクトリー。
私の基本的な質問は、それが配置されているスレッドとは別のスレッドからpeerconnectionfactoryを作成するときや、peerconnectionfactoryを管理するための特定のスレッド/ループ要件セットがあるかどうかという問題です。
おかげで、だから、