MTK启动短信优化闪屏(闪白屏或者黑屏)

原创 2017年09月13日 14:00:01

Activity启动的时候需要一段时间去初始化,这个时候就会有一定的延迟,为了提高用户体验,Android引入了StartingWindow来对这个过程进行过度,在真正的Activity进行初始化的时候会显示StartingWindow,该StartingWindow的主题样式和真正的Activity的主题是一样的。在真正的Activity初始化完成之后就会消除掉StartingWindow,显示真正的Activity。由于这个StartingWindow只是一个很简单的Window,它只是具有真正Activity的主题样式,但是内容是没有被指定的,当真正的Activity的主题设置了windowBackgrond后,StartingWindow就会显示这个windowBackground,如果你的windowBackground是白色的,那么闪白屏,windowBackground是黑色的就会闪黑屏。


MTK是使用这样的方式来避免闪屏的。

原来打开短信默认的打开界面是ConversationList,但是MTK默认打开的界面是BootActivity。

其配置的主题是(不会出现闪屏)

<style name="Theme.NoDisplay">

        <item name="android:windowBackground">@null</item>没有背景

        <item name="android:windowContentOverlay">@null</item>

        <item name="android:windowIsTranslucent">true</item>透明

        <item name="android:windowAnimationStyle">@null</item>

        <item name="android:windowDisablePreview">true</item>禁用窗口的预览动画

        <item name="android:windowNoDisplay">true</item>

    </style>


然后在BootActivity.java中

private void enterMms() {

        MmsLog.d(TAG, "bootActivity enter MMS");

        finish();


        int flags = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK;

        if (!FolderModeUtils.startFolderViewList(

                mOpBootActivityExt.enterMms(), this, null, flags)) {

            Intent intent = new Intent(this, ConversationList.class);

            intent.setFlags(flags); // /M: changed for alps00437708

            startActivity(intent);

        }

    }

在这里finish自己,打开真正的短信列表界面ConversationList,就不会出现闪屏了。

注意类似BootActivity一定不能做复杂的逻辑操作,他就是一个临时展现的activity,UI也要简单化。

其实还可以有其他优化方案,例如加载的android:windowBackground设置为一张图片,这样就不会黑屏白屏闪屏了。然后可以在onCreate再设置回自己的主题。setTheme方法。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Android启动优化,去除白屏或者黑屏

App启动的方式: 冷启动:指后台没有改应用的进程,重新创建进程,过程为,实例化Application,然后实例化入口Activity,最后显示Activity. ...

Android启动优化,去除白屏或者黑屏

Android启动优化,去除白屏或者黑屏Android启动优化,去除白屏或者黑屏 注:以下启动介绍来源于网络 App的启动方式介绍 冷启动: 指后台没有改应用的进程,重新...

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

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

Android程序点击启动后有黑屏或者白屏一闪而过解决办法 发现问题 开发Android程序的时候一般都会有WelcomeActivity,而且大多数的内容都是加载一张自己的logo或者显示出软件内...

Android 编程下通过 Theme 和 Style 避免 APP 启动闪黑屏或者白屏,快速启动

之前在做 APP 的时候不太关注这个问题,因为自己在使用其他 APP 的时候也会在应用启动的初始有一个黑屏闪过后才会出现应用的欢迎页。直到最近开发过程中发现自己在欢迎页启动的线程由于请求和处理的数据量...

Android启动优化,去除白屏或者黑屏

Android启动优化,去除白屏或者黑屏App启动的方式:冷启动:指后台没有改应用的进程,重新创建进程,过程为,实例化Application,然后实例化入口Activity,最后显示Activity....

Android App启动出现白屏或者黑屏的优化方案

最近在研究使用app的过程中发现有的app首次启动的时候会有短暂的白屏,而有的app则不会出现这样的情况,起初我以为是手机的问题,但是我换了几个手机进行测试仍然会出现这样的状况,当然出现白屏给给用户的...

Android应用启动前 白屏或者黑屏原因?

在使用某些APP时会发现 点击应用稍有延迟显示黑屏 或者白屏 然后加载数据进入到应用界面? 那么为什么会出现短暂的黑屏或者白屏呢?什么时候出现黑屏 什么时候出现白屏呢? 延迟原因:因为再启动应用时...

Android APP启动时出现白屏或者黑屏怎么办?

1、为什么APP启动时会出现白屏或者黑屏?当打开一个Activity时,如果这个Activity所属的应用还没有在运行,系统会为这个Activity所属的应用创建一个进程,但进程的创建与初始化都需要时...

Android APP启动时出现白屏或者黑屏怎么办?

Android黑白屏的处理

Android APP启动时出现白屏或者黑屏怎么办?

Android APP启动时出现白屏或者黑屏怎么办? 作者 sendtion 关注 2016.11.29 09:23* 字数 1023 阅读 1047评论 5喜欢 54 很多时候,我们启动A...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)