美文网首页
Android 启动白屏优化和热启动

Android 启动白屏优化和热启动

作者: 八分半 | 来源:发表于2019-08-06 10:28 被阅读0次

    由于Activity使用了默认的them,应用启动时造成短暂的白屏现象。

    一、启动白屏解决方案

    更改splashActivity的them,设置背景图片或背景色并设置全屏显示

        <style name="SplashTheme" parent="Theme.AppCompat.Light.NoActionBar">
            <item name="android:windowBackground">@color/colorPrimary</item>
            <item name="android:windowNoTitle">true</item>
            <item name="android:windowFullscreen">true</item>
        </style>
    

    然后在manifest引用即可

    <activity android:name=".SplashActivity"
                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>
    

    二、热启动

    通常我们按下back键时,activity的生命周期会执行onStop,onDestory ——> onCreate。造成我们试图被销毁了又得重新创建。但是,我们按下home键却是不一样的,activity的生命周期会执行onStop ——>onReStart,所以热启动就是以back键替换成了home键,其实app是被置到了后台,所以当你再次点击打开app时,它会马上的启动。

    /**
         * App 热启动方式,实现应用程序秒开效果
         */
        @Override
        public void onBackPressed() {
            //直接返回桌面 ( Activity只执行onStop )
            if (isStartHome()) {
                Intent intent = new Intent("android.intent.action.MAIN");
                intent.addCategory("android.intent.category.HOME");
                startActivity(intent);
            } else {
                super.onBackPressed();//( Activity将执行onDestory )
            }
        }
    

    相关文章

      网友评论

          本文标题:Android 启动白屏优化和热启动

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