美文网首页
Android启动白屏原因及解决方案

Android启动白屏原因及解决方案

作者: 李晓通 | 来源:发表于2017-07-14 15:29 被阅读3410次

如果大家碰到了这个问题,相信刚开始大家都是很委屈的吧,心里想:我什么都没干啊,就写了个setContentView就要背锅了?如果已经遇到了,不要方,这里给大家提供几个解决方案,我们APP在启动的时候会出现1~2秒的白屏或者黑屏,这个所谓的白屏或黑屏其实与我们设置的Theme有关,如果是Light就是白色,如果是Black则可能出现黑屏,那么为什么会有这种情况出现呢?接下来给大家分析一波。


jdfw.gif

App启动时白屏或黑屏的原因

当你打开一个App时其实就是打开了一个activity,如果这个Activity所属的应用还没有在运行,那么系统会为这个Activity所属的应用创建一个进程,创建进程是需要时间的,从而导致了白屏或黑屏的出现。

白屏或黑屏的解决

解决方案其实很多,接下来给大家介绍几种

第一种解决方案

打开Manifest文件,找到启动的Activity,找到对应的主题,进入style.xml文件,设置android:windowBackground属性为你启动页的图片即可,如果想体验更好,也可以加入windowNoTitle属性为true隐藏ActionBar,再加入android:windowFullscreen属性为true全屏显示,从而达到秒启动的效果

 <style name="SplashTheme" parent="AppBaseTheme"> 
    <item name="android:windowBackground">@drawable/splash</item> 
    <item name="android:windowFullscreen">true</item> 
    <item name="windowNoTitle">true</item> 
</style>
图片被拉伸的有点厉害,不过白屏看不到了不是么
第二种解决方案

第一种方案是加入一张图片从而造成一种快速启动的错觉,不过呢,可能会有一种小问题,那就是图片会移动一下,强迫症表示忍受不了,上第二种方案,直接给你的activity设置android:windowBackground属性为透明色,这样就可以避免图片拉伸的问题,小二,上效果。

 <style name="SplashTheme" parent="AppTheme">
        <!-- 这里的trans自己写一个#00000000即可-->
        <item name="android:windowBackground">@color/trans</item>
        <item name="windowNoTitle">true</item>
        <item name="android:windowFullscreen">true</item>
    </style> 
这样是可以达到秒启动的

这样呢有一个小小的缺点,就是启动App的时候,由于界面是透明的,所以可能会导致用户以为自己没有点到App,这两种方式大家根据自己的需求来。

以上纯属于个人平时工作和学习的一些总结分享,如果有什么错误欢迎随时指出,大家可以讨论一起进步。

相关文章

网友评论

      本文标题:Android启动白屏原因及解决方案

      本文链接:https://www.haomeiwen.com/subject/mqznhxtx.html