使用base64提升视觉效果体验

最近在做一个微信端的小项目,前端代码写完后,就放在手机端测试,没什么问题,但是页面在加载和渲染时的效果却让人有些不爽,虽然是个小项目,我大可不必做这些,但是看着页面的闪动,就忍不住想做些什么。

先说说问题吧:

上面是首页效果图,其实在最开始的时候并没有考虑web端,这图是给IOS和安卓native App用的。为了方面两个本地APP的开发,所以上面的图中,除了那几个科目和下面的tabBar,其余都是图片。

因为都是图片,所以布局真的是挺简单,但是问题也随之来了,几张图片都是通过img标签的src属性去请求的,所以在刷新或者跳转的时候,会有明显的空白闪动。

因为每张图片都会有请求,这样就会有排队等候的时间,获取到图片后再渲染绘制,这样就造成了页面每个图片区域都会有短暂的空白闪动。

我的解决方法则是通过base64,可以比较下两者的network情况:

1.请求时间比较

1.首次加载无缓存

(图片通过请求获取的情况)

(将图片转换为base64的情况)

从图中可以看出,在第一次没有缓存的情况下,普通的img请求都会存在一个较长的排队时间,也就是这个等候时间造成了页面渲染时的空白闪动。

而将图片转换成base64之后,虽然html因为体积变大,所以加载时间变得更长,但整体的时间却更短。

2.第二次及以后有缓存

(图片通过请求获取的情况)

(将图片转换为base64的情况)

在有了缓存之后,两者的时间都大大降低,但是普通img请求的情况下,图片依然存在排队时间,所以页面依然存在空白闪动的情况,虽然闪动的时间变短了。

而将图片转换为base64的情况下,则几乎是没有任何跳动的感觉,另外html也从协商缓存中获取,所以时间大幅度缩短。

2.两者性能情况

关于性能,我并没有专门去写一个需要加载很多页面的测试页,依旧只是使用这个页面去进行的比较。

下面分别是转换为base64的情况,和正常多次请求图片的情况:

(将图片转换为base64的情况)

(图片通过请求获取的情况)

从图中可以看出,将图片转换为base64后,导致文档时间变长,但是在解析、渲染、绘制的时候,所需要的时间并不比请求png图片花的时间多,而且我多次收集页面的加载记录情况,每次的情况都是一样。

所以之前看网上有说浏览器解析base64的性能比png差了好多倍,但是随着升级,这部分性能可能得到了提升。当然也可能是和我的测试图片数量太少有关。

总之,起码在你的首屏图片不会经常变动,不需要去服务器获取的情况下,将它转换成base64应该是一种不错的注意。

另外,对于类似tabBar那样的小图标,不经常更改,而且会在多个页面都使用,更好的做法应该是做成iconfont,这样你的iconfont样式文件可以做缓存,而且不需要将公用的图片转换为base64,也能减小页面体积。

时间: 2024-10-09 09:51:22

使用base64提升视觉效果体验的相关文章

网站建设从多方面做起提升用户体验【转】

网站的用户体验有哪些呢?在网站建设中又怎样提升用户体验呢?用户体验是一个非常广泛的定义.总的概括有七个方面.具体的我们一起来分析一下. 第一.网站的性能方面.这一个方面主要是从网站的加载速度角度分析得出的.网站选择的服务器是否稳定,在域名解析的时候是不是正常.曾经有做过相关的调查,一般定义为三秒以内为优加载速度,超过三秒,每提升0.1秒,那么网站就会流失1%的用户.所以说,网站的加载速度不仅影响了用户的体验,对网站的SEO优化也有一定程度的影响. 第二.网站的视觉效果的设计.网站在色彩的搭配上有

什么是虚拟现实,如何提升虚拟现实体验

一.什么是虚拟现实 :在计算机中对现实世界进行建模,并将用户以某种方式带入虚拟世界,用户可以与虚拟世界中的物体进行交互: 二.什么是沉浸式虚拟现实: 1.能看到3D画面: 2.看到的画面能随着头部移动而变化: 产生具有类似现实世界的观感: 三.如何提升虚拟现实体验: 1.提高建模复杂程度: 2.提升画质清晰度: 3.缩短交互时间: 4.提升交互精准度: 5.增加更多交互方式:

Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率..

Atitit.hybrid混合型应用 浏览器插件,控件的实现方式 浏览器运行本地程序的解决方案大的总结---提升用户体验and开发效率.. 1. hybrid App 1 1.1. Hybrid App为什么会兴起编辑 1 1.2. 如何实现网页语言与程序语言的混合编辑 2 1.2.1. 多View混合型 2 1.2.2. 单View混合型 2 1.2.3. Web主体型 2 1.3. Hybrid App的瓶颈与未来编辑 3 2. Web App.Hybrid App.Native APP对比

Hitpoint 财务本土化软件再推升级版 完美提升用户体验

基于用户体验的反馈,结合市场上同类产品最佳实践及Hitpoint潜心研发,HPFS财务本土化解决方案5.0 SP4应运而生,于2011年9月16日隆重发布.始终秉承客户第一,坚持提高客户财税体验的理念,HPFS财务本土化解决方案 5.0 SP4 更加注重用户的亲身体验,密切关注用户的切身需求. 相较以往版本,HPFS 财务本土化解决方案5.0 SP4新增了诸多提升用户体验的亮点,为用户获取更大收益.     系统数据处理能力大幅提升 对于数据量庞大的企业,在进行财务数据处理时,所需时间将会更短.

使用渐进式 JPEG 来提升用户体验

今天才认识到原来JPEG文件有两种保存方式他们分别是Baseline JPEG(标准型)和Progressive JPEG(渐进式).两种格式有相同尺寸以及图像数据,他们的扩展名也是相同的,唯一的区别是二者显示的方式不同. Baseline JPEG 这种类型的JPEG文件存储方式是按从上到下的扫描方式,把每一行顺序的保存在JPEG文件中.打开这个文件显示它的内容时,数据将按照存储时的顺序从上到下一行一行的被显示出来,直到所有的数据都被读完,就完成了整张图片的显示.如果文件较大或者网络下载速度较

脸萌PM谈如何使用统计工具来提升用户体验

近日,“萌萌哒”头像火爆朋友圈,身边几个90后更是把头像换成身穿德国队服的运动宝贝.脸萌 APP 去年底上线,真火起来却则是上线三个月之后的事.其间,脸萌运营团队究竟做了什么?友盟对脸萌产品经理访谈,从数据统计层面解读这款 APP 火爆背后的运营故事. 脸萌自2013年11月开始使用友盟统计平台,在挖掘用户需求.提升用户体验及产品改版等方面,利用友盟数据有效的进行产品运营和推广决策.他们是如何部署统计平台的各个功能并以此来指导运营的? 一.善用自定义事件,深入了解用户的使用细节 除了日常数据(日

paip.提升用户体验---c++ qt自定义窗体(1)---标题栏的绘制

源地址:http://blog.csdn.net/attilax/article/details/12343625 paip.提升用户体验---c++ qt自定义窗体(1)---标题栏的绘制 效果图: 作者Attilax ,  EMAIL:[email protected] 来源:attilax的专栏地址:http://blog.csdn.net/attilax 第一步:去掉系统默认标题栏 1 第2步:添加自定义标题栏以及最小化,最大化.关闭按钮...还有左边的窗体小图标.. 2 第3步:添加标

天搜科技:提升用户体验就是提升企业竞争力

导语:曾经风光无限的小鸣单车,如今成为了国内首家正式进入破产清算的企业,单车只能12元一辆贱卖,更是负债5000多万.作为长期关注互联网环境的天搜科技,其相关负责人指出:唯有重视用户体验,才能维持企业的可持续发展. "上帝欲使之灭亡,必先使之疯狂."这话用来形容如今的共享单车市场再合适不过,曾经风光无限.热火朝天的共享单车风口,如今却被挤压得成了危险的独木桥.最典型的例子,就是近日宣布破产的小鸣单车,这是全国首个共享单车破产案.不仅小鸣单车,卡拉单车.悟空单车.3Vbike.町町单车.

科技赋能 | 提升客户体验,创新会展业务模式

本文作者:SAP大中华区客户体验专家 闵勇 近日,「中国会展业绿色可持续发展研讨会暨第二届中国会展创新者大会」在重庆成功举办.诸多行业领头人莅临现场,共话会展创新变革之路. 提升客户体验,创新会展业务模式.智能的客户体验也是关键的突破点,不仅是在营销方面,更是生产.供应.财务.营销.销售.服务等价值链的串联. 从组织者角度来看,提升会展行业的客户体验,首先要区分不同的客户群–参展商(卖方)和观众(买方),然后考虑如何在不同的客户生命周期,不同的接触点提供一致的.超出客户预期的超级体验,这样才能建