博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android项目实战(四十二):启动页优化,去除短暂白屏或黑屏
阅读量:6318 次
发布时间:2019-06-22

本文共 1630 字,大约阅读时间需要 5 分钟。

  大家会发现一个空项目,从手机桌面打开app是秒启动。但是对于自己开发的项目,有时会发现打开app的时候,会有短暂的1秒--2秒的白屏或者黑屏,然后才进入到程序界面。

  个人理解为我们自己实现的Application文件里面做了较多的初始化操作,当这些初始化操作完成后才进入到第一个Activity,这段初始化的时间因为没有界面,应用便会因为主题的类别而显示白屏或者黑屏。

  

  构成白屏/黑屏的原因代码如下:

 
/** * @author xqx * @email djlxqx@163.com * blog:http://www.cnblogs.com/xqxacm/ * createAt 2017/1/30 * description: 进行第三方的初始化等操作 */
public class XApplication extends Application{    @Override    public void onCreate() {        super.onCreate();//         环信初始化//        EaseUI.getInstance().init(this,null);//        EMClient.getInstance().setDebugMode(true);        // 友盟统计 普通统计场景类型        MobclickAgent.setScenarioType(this, MobclickAgent.EScenarioType. E_UM_NORMAL);        //禁止默认的页面统计方式,这样将不会再自动统计Activity。        MobclickAgent.openActivityDurationTrack(false) ;        //日志加密        MobclickAgent.enableEncrypt(true);//6.0.0版本及以后        //错误日志统计        MobclickAgent.setCatchUncaughtExceptions(true);        // 页面访问路径统计        MobclickAgent.openActivityDurationTrack(true);        // 极光        JPushInterface.setDebugMode(true);        JPushInterface.init(this);           /....各种三方初始化 }

 

  解决方法,给应用的第一个Activity单独设置一个不同的主题,一般第一个Activity即为启动页。

  我们只要在res/values/styles.xml 文件中写一个主题继承自我们应用的主题

  

  

  然后在AndroidManifest.xml文件中,给启动页设置这个主题即可。

  

    

  

  注意:1、这个解决方法会有一个bug,在小部位机型上设置了该主题的Activity,如果用户进入到最近列表(长按home键或者按菜单键)会出现闪烁问题。

        所以我们不能将整个应用的主题都设置为这个,只需要启动页设置,因为启动页只有少数的1-2秒即进入主界面,用户进入最近列表的触发可能性极低,体验较好。

        2、如果Application中初始化的东西很多,时间较长,比如超过2秒,此方法不适用,会导致用户点击icon2秒后才打开app,用户体验不佳。

 

你可能感兴趣的文章
红帽集群套件RHCS四部曲(概念篇)
查看>>
Google App Engine给我们带来了什么?
查看>>
WebLogic集群案例分析
查看>>
使用WINS服务器实现跨网段名称注册解析和释放
查看>>
理解并取证:DHCP的工作原理、怎么检测IP地址冲突
查看>>
Android单例模式应用场景
查看>>
其他资源记录类型及应用示例
查看>>
Exchange管理控制台无法安装,要求重新启动
查看>>
kubernetes集群网络配置方案——flannel部署
查看>>
Lync 小技巧-51-Lync 2013-不加域-客户端-1-下载-证书-信任链
查看>>
网络管理实战宝典
查看>>
连连看路径求解的算法
查看>>
JavaScript 的面向对象编程
查看>>
kafka的topic和分区策略——log entry和消息id索引文件
查看>>
splunk的bucket组织目录——时间序列,按照时间来组织目录
查看>>
简单的分页控件(原创)
查看>>
NeHe OpenGL教程 第十课:3D世界
查看>>
SharePoint 2013中规划企业搜索体系结构
查看>>
关于CSS 3 及浏览器兼容性问题
查看>>
C#格式化数值结果表(格式化字符串)
查看>>