[Android] New Gingerbread API: StrictMode
這一篇一年前就應該寫了.. 沒想到我竟然沒有寫下來 XD 在Android的程式觀點之中 所有的事情預設都是在main thread 也就是UI thread中跑 但是在UI thread中 如果有些事情 你卡住太久 就會發生傳說中的ANR(Application Not Respone) 像是database query, download from network, infinite loop 等等等 而Google在Gingerbread (現在Key Lime Pie都快出來了 就知道這篇拖多久了...) 的時候新增了一個API - StrictMode Android Developer Blogs: New Gingerbread API: StrictMode StrictMode | Android Developers 簡單來說 StrictMode就是讓開發者用來偵測你所寫的程式之中 有沒有可能會讓你在UI thread卡太久的task 所以開發者便可以透過這些debug log來檢查 你的程式是不是有潛在會造成ANR或是卡在UI thread太久的程式碼 你覺得你的code經得起嚴格模式的挑戰嗎? 試試看吧 :P /**************** [StrictMode] ********************/ StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder() .detectDiskReads().detectDiskWrites().detectNetwork() .penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObjects().penaltyLog().build()); /**************************************************/