网站首页 > 博客文章 正文
移动端跨端方案:4.页面更新机制。
这里是跨端方案的第四节,上一节讲到了三棵树,三棵树原则把前端的domtree最终映射成安卓的viewtree。这一节具体来讲一下整个页面刷新、页面变化是怎样的渲染的机制。写一下页面更新,上一讲讲的是页面显示,页面更新应该怎么操作?
首先页面更新这个地方要讲到,知道前端写的DOMTree,上一节写的DOMTree是虚拟节点,虚拟domtree并不是浏览器上真实的dom节点,所以这个时候生成了一个domtree,虚拟的domtree。
如果页面发生变化的时候又会触发一次Render函数h,函数又会生成第二颗dom,叫dom tree一撇,这样会在前端框架进行diff操作,有一个diff算法进行diff操作。
diff操作当然如果前端框架是rn、vue,它们的区别就是diff算法不一样,这个地方不一样,编译方式不一样。最终diff了之后生成了一个patch文件,也就是diff操作了之后生成了一个patch文件。
如果是前端浏览器PC端,它会把patch下发到patch的内存里边来进行内存的解析,也要更新内存中的这颗树。同时内存中的Patch之后会调对应方法再来更新遍历patch节点,然后来更新真实的安卓页面的viewtree。
这是它的页面更新的过程,就是区别,不管是RN还是vue,算法这一块不一样。
这期就讲到这。
猜你喜欢
- 2024-10-28 功能问题:如何解决跳同一路由组件时页面不变?
- 2024-10-28 Vue3.0来龙去脉更新历程(vue3最新版本)
- 2024-10-28 vue3移除了$on,$off ,$once(vue 移除list中的项)
- 2024-10-28 图解 Vue 异步更新原理(vuex异步)
- 2024-10-28 VUE又要更新了,这框架真这么难学吗?
- 2024-10-28 Vue 3.3.6 发布了,得益于WeakMap,它更快了
- 2024-10-28 新闻在线全栈开发实战(vue3+springboot)之五-数据库信息的更新
- 2024-10-28 vue引入element-ui后界面空白(vue引入elementui不起作用)
- 2024-10-28 VUE3前端开发入门系列教程三:VITE热更新配置及WSL填坑
- 2024-10-28 vue3使用vuex 集中式管理状态数据
你 发表评论:
欢迎- 06-23MySQL合集-mysql5.7及mysql8的一些特性
- 06-23MySQL CREATE TABLE 简单设计模板交流
- 06-23MYSQL表设计规范(mysql设计表注意事项)
- 06-23MySQL数据库入门(四)数据类型简介
- 06-23数据丢失?别慌!MySQL备份恢复攻略
- 06-23MySQL设计规范(mysql 设计)
- 06-23MySQL数据实时增量同步到Elasticsearch
- 06-23MySQL 避坑指南之隐式数据类型转换
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)