1
我已經開始玩弄簡單的概念,如綁定ListViews並將JSON數據提取到填充ListView的適配器。附帶以下代碼的例子:Android的StrictMode - 我如何正確使用它,爲什麼我的應用程序不能沒有它的工作?
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
.detectAll()
.penaltyLog()
.build();
StrictMode.setThreadPolicy(policy);
起初我並沒有太在意
// Testing only. Do NOT USE IN PRODUCTION!
評論,直到我刪除了政策的代碼,這導致我的應用程序開始扔每次的ANR它返回HttpResponse。
看起來像我得到'android.os.NetworkOnMainThreadException'異常。現在,我可以理解你爲什麼不希望在你的UI線程上運行任何網絡代碼,但是爲什麼StrictMode甚至會允許你在第一時間做到這一點,如果它保證拋出運行時異常?
在同一張紙條上,有人可以解釋上面的StrictMode代碼片段嗎?我已經閱讀了關於它的Android開發文檔,但我仍然對它如何允許代碼運行感到困惑。
我唯一的理論是低於僞解釋:
當前線程,檢測所有的違規操作。記錄問題,但忽略它。將當前線程的策略設置爲使用此規則。
我關閉了嗎?
+1,但如果你提供了一些示例代碼,這將是一個更好的答案。 –
+1教程看起來非常體面,今晚會給它一個閱讀,謝謝。 –
@Rudi在互聯網上有很多例子,還有一個例子可以在教程鏈接 –