android.os.NetworkOnMainThreadException異常
問題描述:
android.os.NetworkOnMainThreadException
問題分析:
Android從 2.3 開始提供了一個新的類 StrictMode,該類可以用于捕捉發生在應用程序主線程中耗時的磁盤、網絡訪問或函數調用,可以幫助開發者改進程序,使主線程處理 UI 和動畫在磁盤讀寫和網絡操作時變得更平滑,避免主線程被阻塞。所以當你在UI線程中進行有關網絡的操作時,Android2.3及以上版本會拋出android.os.NetworkOnMainThreadException異常,如下圖:
解決辦法:
造成這樣的錯誤原因是代碼不符合Android規范,如果把網絡的訪問方式改為異步操作或另外開啟一個線程進行有關網絡操作。就不會出現在Android2.3及以上進行網絡操作出現 android.os.NetworkOnMainThreadException異常。
上一篇 HTML5 畫布 Canvas