专业的编程技术博客社区

网站首页 > 博客文章 正文

移动端跨端方案:4.页面更新机制#前端

baijin 2024-10-28 14:49:03 博客文章 12 ℃ 0 评论

移动端跨端方案: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,算法这一块不一样。

这期就讲到这。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表