App启动白屏或者黑屏,其实是第一个启动activity主题设置的原因,默认的是白色主题,有的是黑色主题,在这里修改主题背景为需要设置的图片就好了
Android 实现闪屏
使用 android:windowBackground 实现闪屏
在闪屏activity使用主题
<activity
android:name=".SplashActivity"
android:theme="@style/ThemeSplash">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
定义闪屏主题
<resources>
<style name="ThemeSplash" parent="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<item name="android:windowBackground">@drawable/splash</item>
</style>
</resources>
冷启动(cold start)
冷启动是指应用尚未运行,系统创建进程并初始化应用。
热启动是指应用已经运行但是在后台被挂起,从后台恢复应用。
冷启动时间稍微会长一点,在此期间可能会看到白屏或黑屏或感受到明显的启动延迟(背景设为透明)
解决方法是优化初始化逻辑或使用闪屏。
闪屏(splash)
闪屏是应用每次冷启动过程中展示给用户的一个过渡页面。
用于减缓用户在打开应用时等待的焦虑情绪(欺骗用户以掩盖启动慢的事实)。
由于闪屏通常是一张背景图片,无法拥有交互,也不能动态修改,无法承载营销需求,所以需要启动页。
启动页(launch)
启动页(launch)是一个每次启动后展示的类似闪屏的页面,根据服务端展示不同的些营销活动广告图片并引导用户点击。
由于下载时间不确定,启动图通常会缓存并在下次启动时使用。
引导页(guide)
引导页是在用户安装或更新第一次启动后展示的数个页面。
通常用于介绍应用的 核心概念,功能玩法,使用场景,重大变更。
为了降低用户反感程度,引导页数通常越少越好(< 5),并提供“跳过”按钮。
启动页可以算是形似闪屏且只有一个页面的引导页。
启动过程