冷启动
当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用。进程创建后,初始化Application,在创建和初始化它的Launch Activity(onCreate onMesure onLayout,ondraw),最后展示在界面上,在这一过程中就会有耗时,如果耗时较久,给用户的体验就不好
黑白屏
黑屏或者白屏是有应用的主题Theme来决定的,如果主题继承的是Base.Theme.AppCompat.Light 这类亮色主题,那显示的就是白屏,如果是Dark主题显示的就是黑屏。
目前最流行的冷启动秒开有二种方案,原理都是利用android:windowBackground 来达到效果
方案1:利用android:windowBackground 设置纯色背景或者设置图片背景
当系统在绘制windowBackground 给用户的感觉达到秒开(视觉欺骗,不是真实的启动速度)
<!--方案1: 防止应用启动黑白屏幕,在android:windowBackground属性设置启动页背景 -->
<style name="SplashTheme" parent="AppTheme">
<item name="android:windowFullscreen">true</item><!--可选-->
<item name="android:windowContentOverlay">@null</item><!--可选-->
<item name="android:windowTranslucentStatus">true</item><!--沉浸透明状态栏 可选-->
<item name="android: