一起养成写作习惯!这是我参与「日新计划 4 月更文挑战」的第14天,点击查看活动详情。
全局的WKwebView待用
方法:
- 在客户端刚启动时,就初始化一个全局的WebView待用,并隐藏;
- 当用户访问 了WebView时,直接使用这个approachWebView加载对应网页,并展示。
存在的问题
- 额外的内存消耗
- 页面间跳转需要清空上一个页面的痕迹,更容易内存泄露
预加载
- 在适当的时间节点预加载,然后适当的点显示。让后端和网络不闲等着Webview的初webview更新始化
- 可以创建WkWebviehttpwatchw池,预加载试图可见区域的url预先创建长生十万年WkWebview池,然后唯一根据标识去取对应的WkWebView
存在的问题
- 如果没有获取到url地址的话,无法预先加载地址
客户端代理请求
- 看Hmtl的数据是否webview下载可以通过APP端请求,然后请求得到的数据传给Html渲染。此方法虽然不能减小WebView初始化时间,但数据请求和WebView初始化可以并行进行,总体的页面加载时间就缩短了;缩短总体的页面加载时间
- Html的静态资源包,打包zip到本地,服务器版本号维护,Htmwebview最新版下载l页approve面加载静态包重新定向到本地
- 缓存:HTTP 协议缓存请求,离线缓存 manifest,离线后端开发是干什么的数据缓存 local后端框架Storage
建立连接/服务器处理
- DNS和Connection慢,尽量复用客服HTTP端的域名和链接。
- 客户端首次打开长沙市天气都会请求api.meituan.com,其DNS将会被系统缓存。
- 然而当打开WebView的时候,由于请求了不同的http 302域名,需要重新获取i.meituan.com的IP。
- 静态资源同理,最好与客户端的资源域名保持一致。
同步渲染采用chunk编码
- 确定静态资源的版本。
- 根据用户的请求,去业务API获取数据。
页面框架渲染
- CSS不会阻长沙师范学院止页面继续向下继后端框架续。
- 内联的JS很快执行完成,然后继续解析文档。
- 然而,当这两部分同时出现的时候,问题就来了。
- CSS加载阻塞了下面的一段内联JS的执行,而被阻塞的内联JS则阻塞了HTML的解析。
- 通常情况下,CSS不会阻塞HTML的解析,但如果CSS后面有JS,则会阻塞JS的执行直到CSS加载完成(即便JS是内联的脚本),从而间接阻塞HTML的解析
- 渲染:JS/CSS优化,加载顺序陈思思,服务端渲染模板直出。
优化
- CSS的加载会在HTML解析陈思思到CSShttp://www.baidu.com的标签时开始,所以CSS的标签要尽量靠前。
- 但是,CSS链接下面不能有任何的JS标签(包括很简单的内联JS),否则会阻塞HTML的解析。