1、后台网页开发,渲染线程和脚本是相互排斥的,这就是为什么脚本长时间运行可能会导致页面失去响应。本质就是我们常说的JS是单线程的。在小程序中,选择Hybrid渲染方式,将视图层和逻辑层分离,两个线程同时运行。视图层的界面使用WebView进行渲染,逻辑层运行在JSCore中。渲染层:所有与界面渲染相关的任务都在WebView线程中执行。一个小程序有多个接口,所以在渲染层有多个WebView线程逻辑层:使用JsCore线程运行JS脚本,在这个环境中执行所有与小程序业务逻辑相关的代码。2.通讯小程序在渲染层。宿主环境会将wxml转化为对应的JS对象。当逻辑层数据发生变化时,通过宿主环境提供的setData方法将数据从逻辑层传输到渲染层。比较前后的差异后,将差异应用到原来的Dom树上,渲染出正确的视图。当和view有交互的时??候,比如用户点击了你界面上的某个按钮,这种反馈应该通知给开发者的逻辑层,并且需要将相应的处理状态呈现给用户进行事件分发.处理中,微信进行了特殊处理。拦截所有事件后,抛给逻辑层,交给JavaScript处理。由于小程序是基于双线程的,即视图层和逻辑层之间的任何数据传输都是线程间的通信,会有一定的延迟。因此,在小程序中,页面更新变成了一个异步操作,这会让各部分的运行时序变得更加复杂。比如在渲染第一屏的时候,逻辑层和渲染层的初始化工作会同时开始,但是渲染层需要逻辑层的数据来渲染界面。如果渲染层的初始化很快完成,则必须等待逻辑层的指令才能进行下一步。因此,逻辑层和渲染层需要有一定的关系。该机制确保时间正确。在每个小程序页面的生命周期中,都会有几次页面数据通信。当微信被主动销毁后再次打开时,此时需要重新加载小程序并启动,即冷启动和热启动:用户已经打开过小程序,然后在一定时间内再次打开小程序.这时候不需要重启,只需要将后台状态的小程序切换到前台即可。这个过程就是热启动。注意:1.小程序没有重启的概念。微信主动销毁3.如果短时间内收到系统两次以上的内存警告,小程序也会被销毁,这就是为什么一旦页面内存溢出,页面会崩溃的本质原因是开发者在后台发布新版本后,并不能立即影响所有现有网络用户,但最坏的情况下,新版本信息会在发布后24小时内发送给用户。发布。启动时会检查是否有更新的版本。如果发现有新版本,会异步下载新版本的代码包,并与客户端本地包同时启动。即新版小程序需要等待下一次冷启动。可以套用以上参考https://developers.weixin.qq.com/community/develop/article/doc/0008a4c4f28f30fe3eb863b2750813https://juejin.cn/post/6976805521407868958#heading-5https://juejin.cn/post/6844903808967https://juejin.cn/post/6844903808967https://juejin.cn/post/6844903808967://juejin.cn/post/6844903999863259144#heading-1
