Android:Consumer closed input channel or an error occurred. events=0×8異常導致程式異常終止問題解決方案

來源:互聯網
上載者:User

       程式異常終止但沒有任何異常資訊,只捕獲到Log裡面下面的有用資訊:

09-19 21:57:02.222: W/InputDispatcher(153): channel '410c5958 com.nju.ecg/com.nju.ecg.wave.WaveScreen (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
09-19 21:57:02.222: E/InputDispatcher(153): channel '410c5958 com.nju.ecg/com.nju.ecg.wave.WaveScreen (server)' ~ Channel is unrecoverably broken and will be disposed!
09-19 21:57:02.232: W/InputDispatcher(153): Attempted to unregister already unregistered input channel '410c5958 com.nju.ecg/com.nju.ecg.wave.WaveScreen (server)'
09-19 21:57:02.232: D/dpt(153): setPerformanceMode: 2
09-19 21:57:02.232: I/ActivityManager(153): Process com.nju.ecg (pid 28658) has died.

       網上很多關於此問題的提問,最全的總結可以參考這篇文章 http://blog.csdn.net/name_david_lee/article/details/7972957,

      我的程式得以解決這個問題靈感也來自這篇文章,這邊稍作總結:

      很多人在問Log裡面看不到任何異常資訊,只能看到上述日誌,實際總結到最後,就是因為異常沒有得到捕獲導致用戶端崩潰,有人問我使用了全域異常捕獲,為什麼還是捕獲不到?這裡只能告訴你,這個異常不是我們自己寫的代碼引起的。在這裡我只能分享下我的項目為什麼會捕獲不到這個異常,其他情況大家可以聯絡起來分析分析。我的項目使用了so庫(c,c++編譯打包提供給Android使用Native方式調用),這個庫中有一個方法沒有捕獲異常資訊,JAVA層調用該方法也未捕獲異常(就算捕獲了,最多程式不崩潰,但是也看不到異常資訊),所以導致Android程式異常終止但是無任何異常顯示。

      希望能幫到遇到同樣情況的朋友,其他未能捕獲的異常看各個具體項目了,這裡不做更多分析。


      簡單點,so庫做一個除法,除以0,就會報著個錯,而且上層無法收到。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.