很多app之所以出现启动后黑屏或者白屏主要是在启动页没有设置android:windowBackground属性
方案如下
<style name="AppTheme.MyNoActionBar" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowBackground">@drawable/start_page</item> </style>
然后在启动页的配置文件设置下主题就行
<activity android:name=".WelcomeActivity" android:theme="@style/AppTheme.MyNoActionBa"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
分析下原因,当用户在点击桌面图标时,系统进入APP,并加载布局是需要时间的,举个例子,开门需要钥匙,拿出钥匙开门是需要时间的,那么系统进入该app,也是需要时间的,根据手机性能而定,越好的手机,这个时间越短,但是大部分人的手机都不会那么强,
所以,当在开门的时候,我们把门上就放一张跟门里面一模一样的图片,这样给用户看到的就跟门里的一模一样,start_page就是你启动页的图片,做到一模一样,在用户看来,就是进入了app