【小程序】小程序性能探索----骨架屏

骨架屏是什么?

在Goole提出的以用户为中心的四个页面性能衡量指标中,FP/FCP(首屏渲染)。

关于尽快渲染出首屏,减少白屏时间,常见的优化方式大致有以下几种:

1. 优化关键渲染路径,尽可能减少阻塞渲染的JavaScript和CSS,常见做法包括使用async/defer让浏览器下载JavaScript的同时不阻塞HTML解析,内联页面关键部分的 样式

2. 使用Service Worker 缓存AppShell,加快后续访问速度。

3. 使用HTTP/2 Server Push,帮助浏览器今早发现静态资源,减少请求数。浅谈HTTP/2 Server Push

骨架屏充分利用了前两点。

实现思路

从H5生成骨架屏方案说起,总得来说H5生成骨架屏的方案有2种

1. 完全靠手写HTML和CSS方式给每个页面定制一套骨架屏

2. 利用预渲染的方式生成静态骨架屏

第一套方案,无疑是最简单最直白的方式,缺点也很明细,加入页面布局有修改的话,那么除了修改业务代码之外还需要额外修改骨架屏,增加了维护的成本。

第二套方案,一定程度上改善了第一套方案带来的维护成本增加的缺点,主要还是使用工具预渲染页面,获取到DOM节点和样式,保留页面结构,覆盖样式,生成灰色块盖在原有文本、图片或者是canvas等节点上面,最后将生成的HTML和CSS打包出来,就是一个带有骨架屏的页面。最后再利用webpack工具将生成的骨架屏插入到HTML页面,详细的话可以看看饿了么的分享。

小程序生成骨架屏

1. 预渲染

2. 节点

原文地址:https://www.cnblogs.com/teemor/p/9759540.html

时间: 2024-11-09 17:31:18

【小程序】小程序性能探索----骨架屏的相关文章

小程序(uniapp)骨架屏应用

效果图 注意点: 1, 引入组建后, template 标签内加入<skeleton selector="skeleton" bgcolor="#FFF" v-if="showSkeleton"></skeleton> 其中 v-if="showSkeleton" 为显示骨架屏显示的参数. 2, data对象中设置showSkeleton: true // 默认一开始进入页面加载骨架屏内容. 骨架屏渲染

用于小程序中的骨架屏

基于uni-app的一个骨架屏插件. 在使用的时候可以直接在components中引入组件quick-skeleton.vue.组件代码如下: 1 <template> 2 <view 3 v-show="show" 4 :style="{ 5 width: systemInfo.width + 'px', 6 height: systemInfo.height + 'px', 7 backgroundColor: bgcolor, 8 position:

gdb调试运行时的程序小技巧

使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/blog/cs 原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢! 原文链接地址: 使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法: 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序 情景2:需要同时看几个变量的值或

[转]使用gdb调试运行时的程序小技巧

原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢!原文链接地址:使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法:情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序情景2:需要同时看几个变量的值或者批量查看多个core文件的堆栈信息怎么办情景3:遇到需要查看.队列.链表.树.堆等数据结构里的变量怎么办1. 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序我们在生产环境或者测试环境,会遇到一些异常,我们需

微软小蜜小程序定制开发

小程序诞生的16-17年,免费平台的"黄金时代"已成前尘忆梦.微软小蜜小程序定制开发:1.8.3-2.0.8.6-5.6.2.1[微.电均可]微软小蜜小程序开发,微软小蜜小程序软件开发.潜伏在种种现象背后的商业逻辑正在发生深刻变革. 微信上使用支付的用户超过了7成,使用生活服务的用户超过六成,在微信上消费的习惯已然养成,中小商家只要在平台上寻找到用户就可以变现,而免去前期教育成本.从多个角度来看,微信小程序的到来将助力中小商家分羹微信流量财产. 一.小程序&微信 第一:微信深度

小发包小程序开发、小发包语音红包代码编写

这种技术不会在几年之内被部署到战场,但预计它不久以后将会从军事应用拓展到商业应用--前提是它真的奏效.它将在包括西班牙.意大利和德国在内的多个欧洲国家争夺市场份额.目前,它有一半以上的智能手机业务营收来自中国以外的市场. 诸如"高冷天蝎"."夜猫子"等针对自己偏好的趣味分析,像这样的店,京东已经在北京.上海.深圳等地开设了21家,根据京东的计划年底前将在全国开设超过300家以3C为主的零售体验店. 小发包小程序开发 151.^.188.^.70^5...14  电微

微信小程序(小游戏)后台开发

小程序开放接口功能,目的是方便小程序接入第三方服务器,比如,商城类小程序,小游戏,需要保存订单数据,玩家信息等.那就需要服务器和数据库, 开发者对于各方关系必须要理清,那就是小程序,用户,开发者服务器(也称第三方服务器),微信服务器他们之间的关系. 用户点开小程序,即会向用户获取头像昵称并登录,无须经过第三方服务器,真正要经过第三方服务器,是在需要跟后台(第三方服务器)交互的时候会发一个request请求. 登录动作是用户点击小程序触发OnLaunch事件执行登录方法wx.login(),此方法

微信小程序-03-小程序开发框架

微信小程序-03-小程序开发框架 官方文档: https://developers.weixin.qq.com/miniprogram/dev/framework/MINA.html 小程序开发框架 小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生 APP 体验的服务 框架提供了自己的视图层描述语言 WXML 和 WXSS,以及基于 JavaScript 的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,让开发者能够专注于数据与逻辑 响应的数据绑定 框架

小程序生成小程序码

getUnlimited 获取小程序码,适用于需要的码数量极多的业务场景.通过该接口生成的小程序码,永久有效,数量暂无限制. 小程序官方文档 wxacode.getUnlimited /// <summary> /// 获取小店小程序码 /// </summary> /// <returns>返回的图片 Buffer</returns> public object GetWxacode(string pagePath, int width, string I