.build());
当然,以上代码只应在未发布上线的测试版本的应用中运行以方便监视相关的运行情况,当在生产版本上时不应该启用strictmode。因此,最佳的代码实践应该为如下的样子:
public void onCreate() { if (DEVELOPER_MODE) {
StrictMode.setThreadPolicy( new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork()
.penaltyLog()
.build());
}
super.onCreate();
}
第二步 运行strictmode
当应用启用了strictmode模式时,其实跟普通的应用没什么两样,在测试和运行时,跟平时运行普通应用程序一样就可以了。当启用了Strictmode模式时,会监视所有的程序运行情况,当发现出现重大问题或违背策略规则时,会提示用户。下面是当运行启用了strictmode模式的应用时,当发现违背规则时,显示给用户的信息,细心观察下跟普通的出错信息有什么不同吧。
09 - 04 16 : 15 : 34.592 : DEBUG / StrictMode( 15883 ): StrictMode policy violation; ~duration = 319 ms: android.os.StrictMode$StrictModeDiskWriteViolation: policy = 31 violation = 1
09 - 04 16 : 15 : 34.592 : DEBUG / StrictMode( 15883