为什么苹果使用微信小程序比安卓要流畅很多?

发布时间:
2025-04-16 19:57
阅读量:
11

因为中国不属于欧盟,虽然听起来这个结论很奇怪

欧盟以外的地区,苹果不允许侧载和使用自己的webview

微信小程序的界面本质上是webview渲染的

安卓因为可以自由使用自己的webview(包括google play也只是不允许热更新,但可以使用自己的webview也允许jit,沟槽的facebook现在也用自己的webview了),微信用的是自己的xweb

但微信的xweb显然是一坨屎,和facebook自己搞的webview比起来性能和兼容性中间可能差了四五个阿里u4内核的水平

所以就成这b样了呗

等苹果哪天全球开放自定义webview了(但肯定不会允许第三方webview用jit),那就真的寄咯

国内这帮大厂有一个算一个都对safari落后的特性和糟糕的兼容性烦的要死,开放了保证一个个都给你塞没有jit的chromium进来


另一个原因就是安卓的小程序是跑在多进程multiprocess架构上的,每个小程序有自己的独立进程,而进程初始化所需的工作量是比较大的,尤其是application入口写的屎烂的情况下

而ios这边根本不存在多进程的概念,只有多线程,线程初始化可就快多了

但没有多进程毕竟制约了设计自由度,这方面还是安卓架构先进


当然有一说一,我还是希望safari webkit能争气一点的,不然全是chromium的天下就完了

至于firefox,你是说那个每年收谷歌一大笔钱的能踩住谷歌的刹车?儿子还能弑父了不成?


那么对于标准的系统浏览器来说呢,苹果单核虽然强,但javascriptcore是打不过v8的

v8这东西是纯纯的彻底放弃启动速度和轻量化,专注极端吞吐的,以至于启动速度太慢要靠预准备context每次直接从context快照热启动

javascriptcore正好反过来是极端注重启动速度,放弃了一部分有利于吞吐的设计

所以safari在跑分上干不过chromium,系统浏览器是安卓这边普遍更快的,代价则是v8的内存消耗也更大,尤其是chromium默认启用了很多以大量消耗内存为代价的安全隔离特性之后

当然,这俩至少是高手对招,隔壁spidermonkey连v8的一半都打不过,属于婴儿车级别,说实话我觉得你mozilla不如考虑一下用quickjs换掉spidermonkey得了,但mozilla疑似现在脑子已经锈(rust)完了

END