鸟语天空
利用StrictMode优化UI性能
post by:追风剑情 2016-8-8 18:01

     使用Strict Mode API(Android2.3, API level 9中引入)时,可以分配一组监视应用程序内发生的动作的策略,并定义通知你的方式。可以定义与当前应用程序线程或是与应用程序虚拟机(virtual machine, VM)进程相关的策略,前者适用于检测在UI线程中执行的缓慢操作,而后者有助于检测内存和Context泄漏。
  
     要使用Strict Mode,需创建一个新地ThreadPolicy类和一个新的VmPolicy类,这个过程需要用到它们的静态builder类,并使用detect*方法来定义要监视的操作,相应的penalty*方法控制着在检测到这些动作时系统如何应对。
  
     线程策略可以用来检测磁盘读/写操作和网络访问,而Vm策略可以监视应用程序中的Activity、SQLite和可关闭对象的泄漏。两种策略都可以采取的处罚措施包括日志记录或终止应用程序,同时ThreadPolicy还支持在屏幕上显示对话框和或者使屏幕边界闪烁。两个builder类还包含一个detectAll方法,该方法包含平台支持的所有可能的监视选项。同样可以使用StrictMode.enableDefaults方法应用默认的监视和处罚选项。

 

示例: 在应用程序中使用Strict Mode

package com.test.androidtest;

import android.app.Application;
import android.os.StrictMode;

public class MyApplication extends Application{
	
	public static final boolean DEVELOPER_MODE = true;
	
	@Override
	public void onCreate() {
		super.onCreate();

		if(DEVELOPER_MODE){
			//在应用程序内启用Strict Mode
			//为一个特定的Activity、Service或其他应用程序组件使用Strict Mode(或定制其设置),只需要在
			//组件的onCreate方法内采用相同的做法即可。
			StrictMode.enableDefaults();
		}
	}
}

 

评论:
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容