前端开发中,小程序为什么会有两个线程【腾讯一面】

📌 温馨提示:
本文内容可能随时间变动而失效,请以页面显示的更新时间为准。
若内容已不准确或资源失效,欢迎留言或联系站长反馈修正。
⚠️ 免责声明:
本文仅供学习与参考,观点仅代表作者个人意见,与本站无关。
如有侵权问题,请立即联系我们处理,谢谢理解与支持。

在前端开发中,小程序采用双线程架构主要有以下原因:

  • 提升加载及渲染性能:如果采用纯web技术开发,UI渲染和JavaScript脚本执行在一个单线程中,容易导致逻辑任务抢占UI渲染资源,影响加载和渲染速度。而小程序设计要求快速,所以选择hybrid技术,界面主要由web技术渲染,辅之以大量接口提供丰富的客户端原生能力。同时,每个小程序页面用不同的webview去渲染,避免单个webview任务过重,且渲染层的界面使用webview进行渲染,逻辑层采用jscore运行JavaScript代码,通过双线程来提高性能。
  • 管控安全:web技术灵活开放,基于纯web技术渲染小程序会存在不可控因素和安全风险,如开发者可能使用浏览器开放性api进行跳转页面、操作dom等,从而获取小程序内部敏感数据。为解决安全管控问题,小程序阻止开发者使用这些api,并提供沙箱环境来运行JavaScript代码,像html5中的service worker、web worker特性符合此条件,即启用另一线程来执行JavaScript,由此形成了小程序的双线程模型,在逻辑层执行有关小程序业务逻辑的代码,阻止对界面的随意操作,保障数据安全。
THE END
喜欢就支持一下吧
点赞9
评论 抢沙发

请登录后发表评论

    暂无评论内容