首先需要一個特定的線程模型,我是不清楚是否適當引用鏈接到其他代碼,如果是的話道歉,並想了解一個更合適的機制可能是什麼,這種情況下,我在其中我引用了庫(這些鏈接主要是作爲參考提供給感興趣的各方)。是實現WebRTC原生Android應用
我們有一個android的webrtc原生應用程序,在調用peerconnectionfactory的處置時會遇到困難。當用戶選擇結束活動會話時,我們有一個清理例程,關閉對等連接然後處理它(儘管關閉並不是必須的,因爲在釋放其他資源之前,對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),他們似乎並沒有這個問題。
此外,在查看對等連接工廠實現的本機代碼時(請參閱https://code.google.com/p/chromium/codesearch#chromium/src/third_party/webrtc/api/peerconnectionfactory.cc中的peerconnectionfactory.cc),我們將看到對等連接工廠析構函數的工作線程的解包和刪除。
此外,在回顧鉻webrtc問題列表時,我們看到幾個問題(例如,https://bugs.chromium.org/p/webrtc/issues/detail?id=3100或4196),導致人們相信需要特別注意相對於使用時使用的線程/循環模型peerconnectionfactory。
所以,我的基本問題是從不同的線程創建peerconnectionfactory時是否存在問題,並且是否存在一組用於管理peerconnectionfactory的線程/循環要求。
感謝,