关于 Android Chrome 所采用的进程模型

2019-09-23 10:45:38 +08:00
 rokeyzki

背景

我们知道,Chromium 内核支持四种将 web 页面分配到 render 进程的模型,分别是:

桌面端的 Chrome 基于 Chromium 内核,现在默认采用的进程模型是 Process-per-site-instance,即同域和其链开的网页都属于同一进程,各自的 web 网站运行在各自进程中(最开始是用 Process-per-site,我也忘了是哪个版本改成 Process-per-site-instance )

问题

因为我对 Android 不够了解,印象中 Android 好像是一个应用默认一个主进程,然后启动后有一个 UI 线程和两个 Binder 线程,那么请问 Android 端 Chrome 是否因此跟桌面端 Chrome 不同,而是采用单进程模式来运行?( Single-Process,类似 PC 端 360 极速浏览器的做法)

10711 次点击
所在节点    Android
5 条回复
gzxu
2019-09-23 13:05:48 +08:00
没记错的话 Chrome 里面有 1 到 16 编号的一堆 Service,估计是用来开多进程用的
honeycomb
2019-09-23 13:15:18 +08:00
Android 的 chrome 也能启用 strict isolation,而且目前已经默认启用,因此目前比较可能是 process per site instance 的模式。超出进程限制的可能会以某种缓存的形式放在墓碑里。
menyakun
2019-09-23 19:49:20 +08:00
我猜测是 isolated process
yukiww233
2019-09-25 14:03:29 +08:00

这样独立进程的 service 有 40 个
rokeyzki
2019-09-25 23:32:01 +08:00
@yukiww233 非常感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/603248

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX