android启动页面去状态栏,Android项目实战(四十二):启动页优化,去除短暂白屏或黑屏...

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

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

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

/**

* @author xqx

* @email djlxqx@163.com

* blog:http://www.cnblogs.com/xqxacm/

* createAt 2021年05月28日

* description: 进行第三方的初始化等操作

*/public classXApplication extends Application{ @Overridepublic voidonCreate() { 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键或者按菜单键)会出现闪烁问题。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android启动白屏的问题通常是由几个可能的原因引起的。 首先,可能是由于启动资源加载过多或加载时间过长。启动一般是启动应用程序时的第一个页面,如果其中包含大量的图片或其他资源文件,可能会导致加载时间过长,显示为白屏。为了解决这个问题,可以尝试优化资源加载的方式,比如减少资源文件的大小或数量,并尽量异步加载资源。 其次,可能是由于启动逻辑处理过多。如果在启动进行了过多的逻辑处理,比如网络请求、数据库读写等操作,会导致启动一直停留在加载状态,最终显示为白屏。要解决这个问题,可以考虑将一些耗时操作移到后台线程进行,并在处理完成后再跳转到下一个页面。 另外,设备性能也可能是造成启动白屏的原因之一。如果设备内存不足或处理器性能较低,可能无法快速加载启动的资源,导致白屏。对于这种情况,可以考虑对资源进行压缩或减少启动的复杂度,以提高页面加载速度。 最后,还有可能是由于启动的布局或主题样式设置问题。如果启动的布局或主题样式存在错误或异常,可能导致页面无法正确显示,最终呈现为白屏。为了解决这个问题,可以检查启动的布局文件、主题样式文件以及相关的资源引用是否正确,并确保它们能够正确加载和渲染。 综上所述,解决Android启动白屏的问题,需要注意资源加载、逻辑处理、设备性能以及布局样式等方面的因素,以确保页面能够正常加载和显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值