- 在里面做一些事,比如:第一次啟動時拷貝數據。
- 然后讓啟動界面一定待夠一定時間,比如兩秒三秒的。
就在前兩天我打開app的時候,我感覺啟動界面的時間太長了,而且為什么會先白屏一下然后進入啟動界面。很多app都有啟動界面,也有很多app沒有啟動界面,但是我發現這些沒有啟動界面的app,當我點擊桌面那個icon的時候,也會先白屏一下,然后進入主頁。
然后我決定做兩件事:
- 做完啟動界面的事就進入首頁,不故意睡了。
- 消滅白屏(跟主題設置的關系也有可能是黑屏),在點擊桌面app icon的瞬間開啟啟動界面,因為我點了美團,發現它是秒開的。。
如何消滅白屏
- 刪除啟動界面的xml布局,刪除setContentView。
- 在res/drawable里寫一個這種玩意:
item有drawable屬性,但是不能接收mipmap參數,所以我又包了bitmap。<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.android.com/apk/res/android"><item><bitmapandroid:id="@+id/bitmap_splash"android:src="@mipmap/splash_bg"></bitmap></item><itemandroid:top="@dimen/splash_logo_marginTop"><bitmapandroid:gravity="top"android:src="@mipmap/splash_logo"></bitmap></item><itemandroid:bottom="80dp"><bitmapandroid:gravity="bottom"android:src="@mipmap/splash_word"></bitmap></item></layer-list> - 在style里配置主題,我這里AppBaseTheme的parent是Theme.AppCompat.Light.NoActionBar,然后還有其他的一些配置。
<style name="Splash" parent="AppBaseTheme"> <item name="android:windowBackground">@drawable/splash</item> </style> - 在manifest中splash的activity標簽中配置主題:
... android:theme="@style/Splash"... - 啟動一下看看效果吧。
網上搜啟動消除白屏的方法,有設置啟動界面主題的背景為透明的,splash的xml布局還和以前一樣,這樣確實不白屏了,但是點擊桌面上的icon開始會等一會splash才會出現,體驗也不好。
