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