作者: Android开发网原创 时间: 2010-12-15
从Android 2.3开始提供了一个新的类名为StrictMode可以帮助开发者改进你的Android应用,StrictMode通常可以捕捉到发生在磁盘或网络访问的应用主线程中,可以让主线程处理UI和动画在磁盘读写和网络操作时变得更平滑,避免ANR窗口的发生。
一段示例代码可以很好的说明Android 2.3新特性StrictMode限制模式的工作方式,我们在Activity的onCreate中加入
public void onCreate() {
if (DEVELOPER_MODE) { //Android开发网提醒大家,这个标记自己设置一个全局的宏,当然Java中我们用一个Boolean类型设置debug模式好了
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() // 这里可以替换为detectAll() 就包括了磁盘读写和网络I/O
.penaltyLog() //打印logcat
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects() //探测SQLite数据库操作
.penaltyLog() //打印logcat
.penaltyDeath()
.build());
}
super.onCreate();
}
有关Android 2.3的限制模式使用和具体的测试,Android123将在明天详细说明,有兴趣的网友可以查看下SDK文档的android.os.StrictMode,具体的效果和开发改进意见需要进行实际评估。