[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()); /**************************************************/

留言

這個網誌中的熱門文章

逃得了一時 逃不了一世

Google Hangouts

我老闆是真男人!