1. 程式人生 > >Android 啟動體驗最優解

Android 啟動體驗最優解

大部分 Android 專案中都存在很多的第三方 SDK, 而這些 SDK 也基本都需要在Application 裡面去初始化,這就會到 App 冷啟動時會出現短暫的黑屏。
按照網上大多數方法解決黑屏的方式一般是把啟動介面的 theme 設定為背景透明。

<item name="android:windowBackground">@android:color/transparent</item>

還有一種方式是把啟動介面的背景設定為一張圖片

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item >
        <color android:color="@color/white"/>
    </item>
    <item >
        <bitmap
            android:gravity="center"
            android:src="@drawable/ic_launcher" />
    </item>
</layer-list>

但是這種方式還有一些問題:

  1. 全面屏手機( 螢幕比例大於16:9的 )會發生圖片變形的情況
  2. 展示背景到展示真正介面的UI過程圖示或佈局會不統一

所以我們進行一下小的改進:

<?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
        android:width="150dp"
        android:height="144dp"
        android:bottom="100dp"
        android:drawable="@drawable/ic_splash_logo_common"
        android:gravity="center" />

</layer-list>

這樣我們可以控制圖片的大小,我們可以控制圖片的位置,可以使背景和真正的Splash佈局完全重合,優化啟動的體驗!