rokeyzki
V2EX  ›  Android

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

  •  1
     
  •   rokeyzki · Sep 23, 2019 · 14631 views
    This topic created in 2462 days ago, the information mentioned may be changed or developed.

    背景

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

    • Process-per-site-instance
    • Process-per-site
    • Process-per-tab
    • Single-Process

    桌面端的 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 极速浏览器的做法)

    5 replies    2019-09-25 23:32:01 +08:00
    gzxu
        1
    gzxu  
       Sep 23, 2019 via Android
    没记错的话 Chrome 里面有 1 到 16 编号的一堆 Service,估计是用来开多进程用的
    honeycomb
        2
    honeycomb  
       Sep 23, 2019 via Android
    Android 的 chrome 也能启用 strict isolation,而且目前已经默认启用,因此目前比较可能是 process per site instance 的模式。超出进程限制的可能会以某种缓存的形式放在墓碑里。
    menyakun
        3
    menyakun  
       Sep 23, 2019
    我猜测是 isolated process
    yukiww233
        4
    yukiww233  
       Sep 25, 2019   ❤️ 1

    这样独立进程的 service 有 40 个
    rokeyzki
        5
    rokeyzki  
    OP
       Sep 25, 2019
    @yukiww233 非常感谢
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1292 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 17:04 · PVG 01:04 · LAX 10:04 · JFK 13:04
    ♥ Do have faith in what you're doing.