Android启动页优化
App启动方式
(1)冷启动:当启动应用时,后台没有该应用的进程,系统会重新创建一个新的进程分配给该应用,即冷启动
(2)热启动:当启动应用时,后台已有该应用的进程(例如点击Back键或Home键退出,此时应用的进程依然在后台存活),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,即热启动
启动App时出现白屏或黑屏
解释:启动App出现黑屏或白屏的现象并不是不正常,而是还没加载到布局文件,就已经显示了window窗口背景,而在应用程序进程创建并初始化成功之前,系统会显示一个临时窗口Starting Window(也叫Preview Window,它的WindowType是TYPE_APPLICATION_STARTING。在初始化完成之前展示,是为了告知用户系统已经知道要打开该应用,并且对此做出了响应。待初始化完成后,系统会显示用户UI并移除该窗口),黑屏白屏就是window窗口背景。所以说我们看到的黑屏或白屏就是不同Theme时对应的Window的背
优化:通过windowBackground可以设置背景色、背景图片、能解析出图片的XML文件等
<style name="AppTheme.Launcher" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowBackground">@drawable/launcher_bg</item>
<item name="windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>
自定义的launcher_bg.xml 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white"/>
<item><bitmap android:gravity="center" android:src="@drawable/launch_logo"/></item>
</layer-list>