对于应用的启动时间,只能是尽量的避免一些耗时的、非必要性的操作在主线程中,这样相对减少一部分启动的耗时,同时在等待第一帧显示的时间里,可以加入一些配置用来增加用户体验,比如加入Activity的background,这个背景会在显示第一帧前显示在界面上。
1、首先为主界面单独设置一个主题style,设置一张待显示的图片,这里我们来设置一个颜色,然后在manifest中设置给MainActivity:
@drawable/bule
//...
android:label="@string/app_name" android:theme="@style/AppTheme.Launcher">
2、然后在MainActivity中加载布局之前把APPTheme重新设置给MainActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
这样启动时会先显示background,待界面绘制完成再显示主界面。