消除手机上APP启动时的白屏现象

来源:互联网 发布:兵器科学与技术 知乎 编辑:程序博客网 时间:2024/05/21 11:34

      我们所有的APP当启动时都会有白屏的现象,不光是个人自主研发的APP,甚至原生的也会有。那么本人今天为大家采取两种方式来解决APP的白屏现象

首先为什么会造成白屏现象呢 ?

当我们App运行起来,第一次启动的时候,首先它会执行Application中的onCreate()函数,在进程创建和初始化的过程中,组件Activity是没有执行的,而是执行了startingWindow,显示一个空的DecorView,而前面提到的黑屏/白屏有很大关系


第一种:设置成透明的界面,制造延时启动效果

           Values 下面的 Styles 里添加如下代码:

<itemname="android:windowIsTranslucent">true</item>
<itemname="android:windowNoTitle">true</item>

第二种:设置一个背景图

           Values 下面的 Styles 里添加如下代码:

<!--设置一个背景图,有问题背景图一直存在-->
<itemname="android:windowBackground">@drawable/splash</item>  // 图片依自己设置
<itemname="android:windowNoTitle">true</item>
<!--注意:当界面加载完成后需要将背景改成白色。-->
问题的解决:把下面的代码放在应用入口的Activity
//Activity生命周期中,界面加载成功后的回调

@Override
public voidonWindowFocusChanged(booleanhasFocus) {
super.onWindowFocusChanged(hasFocus);
//C.修改windows背景,把使用第二种方式所带来的问题,解决
getWindow().setBackgroundDrawable(newColorDrawable(Color.WHITE));
}

好的,这里我们就解决了手机的白屏现象。

原创粉丝点击