Android程序点击启动后有黑屏或者白屏一闪而过解决办法

时间:2022-02-11 15:15:23

Android程序点击启动后有黑屏或者白屏一闪而过解决办法


  1. 发现问题
    开发Android程序的时候一般都会有WelcomeActivity,而且大多数的内容都是加载一张自己的logo或者显示出软件内容的图片,但是在运行过程中会发现启动App的时候会有黑屏或者白屏一闪而过,现在就想办法解决它。

  2. 分析问题
    出现白屏或者黑屏的原因是系统解析界面需要一定的时间,这段时间是无法避免的。精简图片大小或者让代码做最少的事也无法避免。

  3. 解决问题

    第一种解决办法:
    在App启动的时候设置主题样式,让它背景透明,就不会有黑屏或者白屏闪过,微信客户端有时会感觉点击之后没有反应,过一会才显示欢迎页,其实是变透明,这种方法会让人感觉启动的稍慢,设置方法如下:
    在style.xml加上自定义theme

    <style name="MyStartTheme" parent="android:Theme.NoTitleBar.Fullscreen">
        <item name="android:windowIsTranslucent">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

在AndroidMainfest.xml里的启动页里面加上自定义的Theme

        <activity  android:name=".WelcomActivity" android:theme="@style/MyStartTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

第二种方法:
在App启动的时候加载图片,这样的好处就是可以让软件看起来是秒开的,
在style.xml里面添加theme

<style name="MyStartTheme" parent="android:Theme.NoTitleBar.Fullscreen">
    <!--设置背景图片-->
    <item name="android:windowBackground">@drawable/ipod_bg</item>
    <!--设置全屏-->
    <item name="android:windowNoTitle">true</item>
</style>

theme的引用方法和第一种一样。