zoukankan      html  css  js  c++  java
  • Android------第一次启动出现白屏或者黑屏

    APP开发中,第一次运行启动app时,会出现一会儿的黑屏或者白屏才进入Activity的界面显示。

    当打开一个Activity时,如果这个Activity所属Application还没有在运行,

    系统会为这个Activity的创建一个进程(每开启一个进程都会有一个Application,所以ApplicationonCreate()可能会被调用多次),

    但进程的创建与初始化都需要时间,在这个动作完成之前,如果初始化的时间过长,屏幕上可能没有任何动静;

    这样看起来就像Activity已经启动起来了,只是数据内容还没有初始化好。

    简单的代码解决问题:

    创建一个res/drawable下新建一个layer-list, backsplash.xml

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@android:color/white" />
    
        <item>
            <bitmap
                android:gravity="center"
                android:src="@drawable/cg_dao" />
        </item>
    </layer-list>

    然后

        <style name="SplashTheme" parent="AppTheme">
            <!-- 将splash图片设置在这,这样这张图片取代白屏 -->
            <item name="android:windowBackground">@drawable/backsplash</item>
            <item name="android:windowFullscreen">true</item>    
            <!-- <item name="android:windowIsTranslucent">true</item> --> <!-- 透明背景不要了 -->
        </style>

    最后在AndroidManifest.xml中定义MainActivity设置

    <activity android:name=".MainActivity"
                android:theme="@style/SplashTheme"
                android:screenOrientation="portrait"
                >
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
    
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
    </activity>

    这里我参考了一个很好的文章来解决这个问题严振杰的博客

    可以参考一下。

  • 相关阅读:
    ECMAScript 引用类型Object 对象
    jQuery Form Plugin
    在 PHP5 中使用 DOM 控制 XML
    JavaScript encodeURI()和encodeURIComponent() 函数
    程序员进阶的建议:多看、多写、多交流
    jQuery 取 css zindex 值在各种浏览器中的返回值
    XPath 语法教程(Tutorial_2)
    使用 strpos 需要注意 === 运算符
    关于代码开发规范和原则
    PHP 编写大型网站问题集
  • 原文地址:https://www.cnblogs.com/zhangqie/p/7592100.html
Copyright © 2011-2022 走看看