460
技術社區[雲棲]
Android3.0版本以上出現android.os.NetworkOnMainThreadException異常與處理方式
https://www.cnblogs.com/awenhome/archive/2012/01/04/2311659.html
以前用2.2 訪問WebService沒有問題,到3.0上訪問出現android.os.NetworkOnMainThreadException
找了資料經過實踐,解決方法如下:
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads().detectDiskWrites().detectNetwork() // or // .detectAll() // for // all // detectable // problems .penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects().detectLeakedClosableObjects() .penaltyLog().penaltyDeath().build());
PS:1.在2.3版本以後加入了StrictMode類,而在3.0在網絡上能感覺到有更加嚴格的限製,更多的查詢API上的StrictMode ;
2.使用的時候隻需要在你項目運行的入口Activity的OnCreate中放入這段代碼,那麼整個項目程序都有用。不需要每個Activity裏麵加入。
3.StrictMode類一般是用來調試的,在程序運行中會打印很多消息,那是告訴你你的項目程序需要改進的地方。在Android項目中,最好的是讓界麵與後台裝載程序分開來。總之,如果你的程序代碼非常符合Android規範要求,那麼你完全可以不使用上麵的代碼
最後更新:2017-04-02 17:28:41
上一篇:
android讀取大圖片並緩存
下一篇:
模仿網易新聞圖片點擊放大效果
Spring 設計理念探討係列一
機器學習的入門“秘籍”
當前時間的下一秒
阿裏雲校園公益極客大賽正式啟動 公益+科技+未來,打造不一樣的校園賽事!
關閉IBM HTTP Server插件自動生成服務,以避免部署大量應用時導致Dmgr內存溢出
MaxCompute-GRAPH可配置參數列表(持續更新)
lnmp環境搭建
IT早報網今日起在SAE試運行,歡迎大家多多提建議
tomcat報錯INFO: Maximum number of threads (200) created for connector with address null and port 8080
根據您的需要選擇最佳 PaaS 雲