Android启动优化,去除白屏或者黑屏
App启动的方式:

冷启动:指后台没有改应用的进程,重新创建进程,过程为,实例化Application
,然后实例化入口Activity
,最后显示Activity
.
热启动:后台中存在当前的进程,直接从进程中启动,不用重新创建Application
,只需要实例化入口Activity
即可
优化App启动过程的三个建议:
Application
的创建过程中尽量少的进行耗时操作- 如果用到
SharePreference
,尽量在异步线程中操作 - 减少布局的层次,并且生命周期回调的方法中尽量减少耗时的操作
最有效的还是Manifest
文件中给指定的入口Activity
设置一个背景,当进入之后恢复默认背景,这样在显示界面之前都会显示那么被设置的背景,这样就提高了用户体验,至少等待主界面的过程中不是黑屏或者白屏.
主题的设置
<style name="LauncherTheme">
<item name="android:windowBackground">@drawable/bg_login</item>
</style>
给Activity
设置主题
<activity
android:name=".activity.LauncherActivity"
android:theme="@style/LauncherTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
应用启动完成后恢复默认主题
protected void onCreate(Bundle savedInstanceState) {
setTheme(R.style.AppTheme_NoActionBar);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_launcher);
...
}
效果图:

完毕!
有不足的地方欢迎指出,另外建了个新手交流Android开发的QQ群,欢迎加入.
群号:375276053