现在的位置: 首页 > 综合 > 正文

Chrome 手机浏览器的进程生命周期,国内的浏览器能做到这个地步就可以了

2013年07月09日 ⁄ 综合 ⁄ 共 2594字 ⁄ 字号 评论关闭
文章目录

移动应用的生命周期,我觉得 chrome 的表现非常好,这里大概展示一下:

com.android.chrome     基本进程,还没有研究它是做什么的

com.android.chrome:sandboxed_process0   空白tab对应的进程

com.android.chrome:sandboxed_process[1~n] 正常页面对应的进程名称。 但是并不像 PC 浏览器一样是每个 TAB 一个进程那样,具体规则后续再做分析。

简单的分析方法:

adb 链接手机之后, adb shell top | grep chrome  来查看 chrome 的生命周期

1. 打开 Chrome,会开启一个空tab, 此时会创建两个进程,两次刷新的结果如下:

14038  0   0% S    13 682096K  28364K  fg u0_a8    com.android.chrome
14038  3   6% S    31 723816K  59464K  fg u0_a8    com.android.chrome
14055  0   0% S    14 721328K  51724K  fg u0_i41   com.android.chrome:sandboxed_process0
14038  2  22% S    31 723816K  63708K  fg u0_a8    com.android.chrome
14055  0   0% S    14 721328K  51724K  fg u0_i41   com.android.chrome:sandboxed_process0
14038  2   0% S    31 723816K  63520K  fg u0_a8    com.android.chrome
14055  0   0% S    14 721328K  51724K  fg u0_i41   com.android.chrome:sandboxed_process0
14038  0   1% S    31 723816K  63520K  fg u0_a8    com.android.chrome

2. 如果把创建的tab 关闭,则仅剩下一个进程:

14038  0   0% S    31 716252K  59408K  fg u0_a8    com.android.chrome

3. 输入网址 m.baidu.com,发现启动了 sandboxed_process0 关闭了,启动一个 sandboxed_process1进程:

14038  0   2% S    44 736976K  65128K  fg u0_a8    com.android.chrome
14388  1   1% S    14 714468K  45816K  fg u0_i43   com.android.chrome:sandboxed_process1
14038  1   3% S    44 736976K  65160K  fg u0_a8    com.android.chrome
14388  1   2% S    14 714468K  46020K  fg u0_i43   com.android.chrome:sandboxed_process1
14038  0   5% S    44 736976K  65196K  fg u0_a8    com.android.chrome
14388  1   2% S    14 714468K  46020K  fg u0_i43   com.android.chrome:sandboxed_process1
14038  0   8% S    44 736976K  65232K  fg u0_a8    com.android.chrome
14388  1   5% S    14 714468K  46020K  fg u0_i43   com.android.chrome:sandboxed_process1


再次打开一个新的 tab, 发现有启动了一个 sandboxed_process0
14038  1   4% S    45 738184K  69832K  fg u0_a8    com.android.chrome
14805  1   1% S    14 719604K  49680K  fg u0_i44   com.android.chrome:sandboxed_process0
14388  1   0% S    14 707288K  39920K  fg u0_i43   com.android.chrome:sandboxed_process1
14038  0  16% S    45 738184K  69836K  fg u0_a8    com.android.chrome
14388  1   0% S    14 707288K  40184K  fg u0_i43   com.android.chrome:sandboxed_process1
14805  1   0% S    14 719604K  49680K  fg u0_i44   com.android.chrome:sandboxed_process0
14388  1   0% S    14 707288K  40184K  fg u0_i43   com.android.chrome:sandboxed_process1

再输入一个网址:

14038  0   0% S    45 738880K  70432K  fg u0_a8    com.android.chrome
14388  1   0% S    14 707288K  40180K  fg u0_i43   com.android.chrome:sandboxed_process1
14841  0   1% S    14 726272K  58548K  fg u0_i45   com.android.chrome:sandboxed_process2

再打开一个 tab :

14038  2  26% S    45 739200K  71408K  fg u0_a8    com.android.chrome
14841  0   0% S    14 716800K  50188K  fg u0_i45   com.android.chrome:sandboxed_process2
14388  1   0% S    14 707288K  40184K  fg u0_i43   com.android.chrome:sandboxed_process1
15029  0   0% S    14 719680K  49864K  fg u0_i46   com.android.chrome:sandboxed_process0

将Chrome 切换到后台,发现只剩下一个进程,并且占用内存也不算太大。
14038  1   0% S    44 730760K  64444K  bg u0_a8    com.android.chrome
14038  1   0% S    44 730760K  64444K  bg u0_a8    com.android.chrome
14038  1   0% S    44 730760K  64444K  bg u0_a8    com.android.chrome
14038  1   0% S    44 730760K  64556K  bg u0_a8    com.android.chrome
14038  1   0% S    44 730760K  64556K  bg u0_a8    com.android.chrome

抱歉!评论已关闭.