PJSIP集成到Android項目的歷程

             剛進公司時,接手了一個項目。項目中有一個模塊就是PJSIP,遇到的問題就是穩定性差,莫名的Crash。

             大家可能都會有這種經驗,當點擊某一個按鈕,導致程序崩潰,遇到這種問題通常容易解決。解決方式就是查看這個點擊事件具體的操作,然後對操作進行調試就能很快的發現並解決問題。但是遇到這種穩定性的問題,並且設計到JNI,就需要大量的測試,來定位問題,再考慮解決辦法。

             導致穩定性差可能有以下兩種原因:

             1.項目代碼導致的

             2.PJSIP代碼導致的

             對於第一個情況,自定義了CrashHandler,引用第三方日誌管理工具,用於手機Crash的日誌,對日誌進行分析,以便於確定問題的來源。

            對於第二種情況,由於涉及到JNI以及so庫的原因,無法收集到有意義的日誌。因此需要先把手機root,然後在data/tombstones目錄下會記錄每次底層Crash的日誌,該日誌會給出那個.so庫出問題,以及簡單的異常信息描述。

           概括而言,經過N次的測試、調試,最終發現是資源釋放的問題,包括把還在使用的資源釋放或者沒有回收未使用的資源。

          

           

             

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章