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启动白屏或者黑屏闪现的问题,androidapp

Android开发之解决APP启动白屏或者黑屏闪现的问题,androidapp 在做搜芽的过程中,发现那个外包人缘做的不行,因为启动的时候会停顿,然后白屏一会,联想到几个月前我在我的三僚企业...
  • changlei_shennan
  • changlei_shennan
  • 2016年06月18日 17:38
  • 1844

MTK LCD白屏解决方案

http://blog.csdn.net/macxen_gunter/article/details/10541209 针对开机小概率白屏: 1. 延长LCD INIT时,Reset的De...
  • zangchaodotcnatgmail
  • zangchaodotcnatgmail
  • 2014年01月06日 15:38
  • 1372

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

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

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

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

Android开发之解决APP启动白屏或者黑屏闪现的问题

在做搜芽的过程中,发现那个外包人缘做的不行,因为启动的时候会停顿,然后白屏一会,联想到几个月前我在我的三僚企业通信软件里面拉起9K-Mail的时候也会黑屏,所以决定学习一下。解决一下。这不,万能的网络...
  • MiniMicall
  • MiniMicall
  • 2014年10月07日 16:21
  • 10395

Android开发之解决APP启动白屏或者黑屏闪现的问题

Android开发之解决APP启动白屏或者黑屏闪现的问题 时间 2014-10-07 16:21:11  CSDN博客 原文  http://blog.csdn.net/minimicall/...
  • xjbclz
  • xjbclz
  • 2016年09月19日 14:26
  • 383

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

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

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

Android启动优化,去除白屏或者黑屏Android启动优化,去除白屏或者黑屏 注:以下启动介绍来源于网络 App的启动方式介绍 冷启动: 指后台没有改应用的进程,重新...
  • qq_37244202
  • qq_37244202
  • 2017年06月22日 10:30
  • 250

Android Study 之冷启动优化(解决启动短暂白屏or黑屏)

LZ-Says:话说真正负责项目后才发现,想要软件越来越好,就要从细节抓问题,去解决问题,这样我们的软件才会越来越好~ 前言今天下班路上闲的无聊随便点了几个app,包括正在负责的几个项目,突然发现怎么...
  • u012400885
  • u012400885
  • 2017年03月25日 00:44
  • 693

Android App 启动页(Splash)黑/白闪屏现象产生原因与解决办法

惊鸿一瞥微信的启动页,相信大家都不陌生。 不知道大家有没有发现一个现象,微信每次启动的时候,是直接进入这个启动页面。 我的意思是,很多应用,往往会先白屏停顿一下后再进入启动页面(Splash)。为...
  • zivensonice
  • zivensonice
  • 2016年06月16日 20:30
  • 10902
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MTK启动短信优化闪屏(闪白屏或者黑屏)
举报原因:
原因补充:

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