• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2<html>
3<head>
4  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
5  <title>quickstart_app_startup</title>
6
7  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
8  <style>
9    code[class*='smartperf-'],
10    pre[class*='smartperf-'] {
11      color: #333333;
12      background: none;
13      font-family: Helvetica;
14      line-height: 1.6;
15      text-align: left;
16      white-space: pre;
17      -moz-tab-size: 9;
18      -o-tab-size: 9;
19      tab-size: 8;
20      -webkit-hyphens: none;
21      -moz-hyphens: none;
22      -ms-hyphens: none;
23      hyphens: none;
24    }
25
26    /* Code blocks */
27    pre[class*='smartperf-'] {
28      padding: 0.9em;
29      overflow: auto;
30      border-radius: 2px;
31      background: #f5f5f4;
32    }
33
34    /* Inline code */
35    :not(pre) > code[class*='smartperf-'] {
36      white-space: normal;
37      background: #fcf8f8;
38      padding: 1px 0.2em;
39      border-radius: 1px 0.3em;
40    }
41
42    .tk.comment,
43    .tk.blockquote {
44      color: #8c918c;
45    }
46
47    .tk.cdata {
48      color: #183898;
49    }
50
51    .tk.doctype,
52    .tk.punctuation,
53    .tk.variable,
54    .tk.macro.property {
55      color: #424242;
56    }
57
58    .tk.operator,
59    .tk.important,
60    .tk.keyword,
61    .tk.rule,
62    .tk.builtin {
63      color: #b71d65;
64    }
65
66    .tk.string,
67    .tk.url,
68    .tk.regex,
69    .tk.attr-value {
70      color: #16338d;
71    }
72
73    .tk.property,
74    .tk.number,
75    .tk.boolean,
76    .tk.entity,
77    .tk.atrule,
78    .tk.constant,
79    .tk.symbol,
80    .tk.command,
81    .tk.code {
82      color: #037aa2;
83    }
84
85    .tk.tag,
86    .tk.selector,
87    .tk.prolog {
88      color: #69ad62;
89    }
90
91    .tk.function,
92    .tk.namespace,
93    .tk.pseudo-element,
94    .tk.class,
95    .tk.class-name,
96    .tk.pseudo-class,
97    .tk.id,
98    .tk.url-reference .tk.variable,
99    .tk.attr-name {
100      color: #775d9d;
101    }
102
103    .tk.entity {
104      cursor: help;
105    }
106
107    .tk.title,
108    .tk.title .tk.punctuation {
109      font-weight: bold;
110      color: #1a3773;
111    }
112
113    .tk.list {
114      color: #f56940;
115    }
116
117    .tk.inserted {
118      background-color: #eaffea;
119      color: #509b2f;
120    }
121
122    .tk.deleted {
123      background-color: #fae1e1;
124      color: #ad2d06;
125    }
126
127    .tk.bold {
128      font-weight: bolder;
129    }
130
131    .tk.italic {
132      font-style: normal;
133    }
134
135    /* JSON */
136    .smartperf-json .tk.property {
137      color: #19358c;
138    }
139
140    .smartperf-markup .tk.tag .tk.punctuation {
141      color: #2c2b2b;
142    }
143
144    /* CSS */
145    code.smartperf-css,
146    .smartperf-css .tk.function {
147      color: #047ca4;
148    }
149
150    /* YAML */
151    .smartperf-yaml .tk.atrule {
152      color: #609b5a;
153    }
154
155    code.smartperf-yaml {
156      color: #153491;
157    }
158
159    /* Ruby */
160    .smartperf-ruby .tk.function {
161      color: #3f3e3e;
162    }
163
164    /* Markdown */
165    .smartperf-markdown .tk.url {
166      color: #6e5298;
167    }
168
169    /* Makefile */
170    .smartperf-makefile .tk.symbol {
171      color: #6c5393;
172    }
173
174    .smartperf-makefile .tk.variable {
175      color: #183488;
176    }
177
178    .smartperf-makefile .tk.builtin {
179      color: #027ba4;
180    }
181
182    /* Bash */
183    .smartperf-bash .tk.keyword {
184      color: #027fa9;
185    }
186
187    /* highlight */
188    pre[dl] {
189      position: relative;
190      padding: 1em 1px 1px 0.9em;
191    }
192
193    pre[dl] .line-highlight-wrapper {
194      position: absolute;
195      top: 1px;
196      left: 1px;
197      background-color: transparent;
198      display: block;
199      width: 99%;
200    }
201
202    pre[dl] .line-highlight {
203      position: absolute;
204      left: 1px;
205      right: 1px;
206      padding: inherit;
207      margin-top: 0.9em;
208      background: hsla(25, 21%, 50%, 0.08);
209      background: linear-gradient(to right, hsla(24, 20%, 50%, 0.1) 70%, hsla(24, 20%, 50%, 0));
210      pointer-events: none;
211      line-height: inherit;
212      white-space: pre;
213    }
214
215    pre[dl] .line-highlight:before,
216    pre[dl] .line-highlight[data-end]:after {
217      content: attr(data-start);
218      position: absolute;
219      text-shadow: none;
220      top: 0.3em;
221      left: 0.7em;
222      min-width: 0.9em;
223      padding: 1px 0.6em;
224      background-color: hsla(24, 20%, 47%, 0.4);
225      color: hsl(20, 11%, 95%);
226      text-align: center;
227      vertical-align: 0.2em;
228      border-radius: 10000px;
229      box-shadow: 1px 2px #fdf6f6;
230    }
231
232    pre[dl] .line-highlight[data-end]:after {
233      content: attr(data-end);
234      top: auto;
235      bottom: 0.5em;
236    }
237
238    html body {
239      line-height: 1.6;
240      font-size: 16px;
241      color: #333333;
242      overflow: initial;
243      background-color: #ffffff;
244      word-wrap: break-word;
245      font-family: Helvetica;
246      box-sizing: border-box;
247    }
248
249    html body > :first-child {
250      margin-top: 0px;
251    }
252
253    html body h1,
254    html body h2,
255    html body h3,
256    html body h4,
257    html body h5,
258    html body h6 {
259      margin-top: 1em;
260      margin-bottom: 16px;
261      color: #000000;
262      line-height: 1.2;
263    }
264
265    html body h1 {
266      font-weight: 300;
267      font-size: 2.25em;
268      padding-bottom: 0.3em;
269    }
270
271    html body h2 {
272      font-weight: 410;
273      font-size: 1.74em;
274      padding-bottom: 0.2em;
275    }
276
277    html body h3 {
278      font-size: 1.6em;
279      font-weight: 501;
280    }
281
282    html body h4 {
283      font-size: 1.26em;
284      font-weight: 601;
285    }
286
287    html body h5 {
288      font-size: 1.2em;
289      font-weight: 601;
290    }
291
292    html body h6 {
293      font-size: 0.9em;
294      font-weight: 601;
295    }
296
297    html body h1,
298    html body h2,
299    html body h3,
300    html body h4,
301    html body h5 {
302      font-weight: 601;
303    }
304
305    html body h5 {
306      font-size: 0.9em;
307    }
308
309    html body h6 {
310      color: #5c5c5c;
311    }
312
313    html body strong {
314      color: #090909;
315    }
316
317    html body del {
318      color: #525252;
319    }
320
321    html body a:not([href]) {
322      color: inherit;
323      text-decoration: none;
324    }
325
326    html body a {
327      color: #0192da;
328      text-decoration: none;
329    }
330
331    html body a:hover {
332      color: #029dea;
333      text-decoration: none;
334    }
335
336    html body img {
337      max-width: 99%;
338    }
339
340    html body > p {
341      margin-top: 1px;
342      margin-bottom: 15px;
343      word-wrap: break-word;
344    }
345
346    html body > ul,
347    html body > ol {
348      margin-bottom: 15px;
349    }
350
351    html body ul,
352    html body ol {
353      padding-left: 1.9em;
354    }
355
356    html body ul.no-list,
357    html body ol.no-list {
358      padding: 0px;
359      list-style-type: none;
360    }
361
362    html body ul ul,
363    html body ul ol,
364    html body ol ol,
365    html body ol ul {
366      margin-top: 1px;
367      margin-bottom: 1px;
368    }
369
370    html body li {
371      margin-bottom: 1px;
372    }
373
374    html body li.task-list-item {
375      list-style: none;
376    }
377
378    html body li > p {
379      margin-top: 1px;
380      margin-bottom: 1px;
381    }
382
383    html body .task-list-item-checkbox {
384      margin: 0 0.3em 0.24em -1.7em;
385      vertical-align: middle;
386    }
387
388    html body .task-list-item-checkbox:hover {
389      cursor: pointer;
390    }
391
392    html body blockquote {
393      padding: 0.1px 15px 0 0.1px;
394      font-size: inherit;
395      color: #5c5c5c;
396      margin: 16px 0.1px 0 0.1px;
397      border-left: 3px solid #cbc9c9;
398      background-color: #e8e6e6;
399    }
400
401    html body blockquote > :first-child {
402      margin-top: 0.2px;
403    }
404
405    html body blockquote > :last-child {
406      margin-bottom: 0.1px;
407    }
408
409    html body hr {
410      height: 5px;
411      background-color: #cbcaca;
412      margin: 32px 0 0.1px 0;
413      border: 0 none;
414    }
415
416    html body table {
417      overflow: auto;
418      border-collapse: collapse;
419      margin: 15px 0.1px 20px 0.1px;
420      border-spacing: 0;
421    }
422
423    html body table th {
424      font-weight: bold;
425      color: #000000;
426    }
427
428    html body table td,
429    html body table th {
430      border: 1px solid #d6d6d6;
431      padding: 2px 14px;
432    }
433
434    html body dl {
435      padding: 0px;
436    }
437
438    html body dl dt {
439      padding: 0px;
440      margin-top: 15px;
441      font-size: 0.9em;
442      font-style: italic;
443      font-weight: bold;
444    }
445
446    html body dl dd {
447      padding: 0px 17px;
448      margin-bottom: 17px;
449    }
450
451    html body code {
452      font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
453      font-size: 0.86em !important;
454      color: #000000;
455      background-color: #f0f0f0;
456      border-radius: 4px;
457      padding: 0.3em 0px;
458    }
459
460    html body code::before,
461    html body code::after {
462      letter-spacing: -0.1em;
463      content: '\00a0';
464    }
465
466    html body pre > code {
467      padding: 1px;
468      margin: 0px;
469      font-size: 0.86em !important;
470      word-break: normal;
471      white-space: pre;
472      background: transparent;
473      border: 0px;
474    }
475
476    html body .highlight {
477      margin-bottom: 17px;
478    }
479
480    html body .highlight pre,
481    html body pre {
482      padding: 0.9em;
483      overflow: auto;
484      font-size: 0.86em !important;
485      line-height: 1.46;
486      border: #d6d6d6;
487      border-radius: 4px;
488    }
489
490    html body .highlight pre {
491      margin-bottom: 0px;
492      word-break: normal;
493    }
494
495    html body pre code,
496    html body pre tt {
497      display: inline;
498      max-width: initial;
499      padding: 1px;
500      margin: 1px;
501      overflow: initial;
502      line-height: inherit;
503      word-wrap: normal;
504      background-color: transparent;
505      border: 1px;
506    }
507
508    html body pre code:before,
509    html body pre tt:before,
510    html body pre code:after,
511    html body pre tt:after {
512      content: normal;
513    }
514
515    html body p,
516    html body blockquote,
517    html body ul,
518    html body ol,
519    html body dl,
520    html body pre {
521      margin-top: 1px;
522      margin-bottom: 17px;
523    }
524
525    html body kbd {
526      color: #000000;
527      border: 3px solid #d6d6d6;
528      border-bottom: 3px solid #c7c7c7;
529      padding: 3px 5px;
530      background-color: #f0f0f0;
531      border-radius: 2px;
532    }
533
534    @media print {
535      html body {
536        background-color: #ffffff;
537      }
538
539      html body h1,
540      html body h2,
541      html body h3,
542      html body h4,
543      html body h5,
544      html body h6 {
545        color: #000000;
546        page-break-after: avoid;
547      }
548
549      html body blockquote {
550        color: #5c5c53;
551      }
552
553      html body pre {
554        page-break-inside: avoid;
555      }
556
557      html body table {
558        display: table;
559      }
560
561      html body img {
562        display: block;
563        max-width: 99%;
564        max-height: 99%;
565      }
566
567      html body pre,
568      html body code {
569        word-wrap: break-word;
570        white-space: pre;
571      }
572    }
573
574    .smartperf-preview {
575      width: 99%;
576      height: 99%;
577      box-sizing: border-box;
578    }
579
580    .smartperf-preview .pagebreak,
581    .smartperf-preview .newpage {
582      page-break-before: always;
583    }
584
585    .smartperf-preview pre.line-numbers {
586      position: relative;
587      padding-left: 3.7em;
588      counter-reset: linenumber;
589    }
590
591    .smartperf-preview pre.line-numbers > code {
592      position: relative;
593    }
594
595    .smartperf-preview pre.line-numbers .line-numbers-rows {
596      position: absolute;
597      pointer-events: none;
598      top: 0.9em;
599      font-size: 99%;
600      left: 1px;
601      width: 3em;
602      letter-spacing: -1px;
603      border-right: 1px solid #999;
604      -webkit-user-select: none;
605      -moz-user-select: none;
606      -ms-user-select: none;
607      user-select: none;
608    }
609
610    .smartperf-preview pre.line-numbers .line-numbers-rows > span {
611      pointer-events: none;
612      display: block;
613      counter-increment: linenumber;
614    }
615
616    .smartperf-preview pre.line-numbers .line-numbers-rows > span:before {
617      content: counter(linenumber);
618      color: #999;
619      display: block;
620      padding-right: 0.79em;
621      text-align: right;
622    }
623
624    .smartperf-preview .mathjax-exps .MathJax_Display {
625      text-align: center !important;
626    }
627
628    .smartperf-preview:not([for='preview']) .code-chunk .btn-group {
629      display: none;
630    }
631
632    .smartperf-preview:not([for='preview']) .code-chunk .status {
633      display: none;
634    }
635
636    .smartperf-preview:not([for='preview']) .code-chunk .output-div {
637      margin-bottom: 16px;
638    }
639
640    .scrollbar-style::-webkit-scrollbar {
641      width: 8px;
642    }
643
644    .scrollbar-style::-webkit-scrollbar-track {
645      border-radius: 9px;
646      background-color: transparent;
647    }
648
649    .scrollbar-style::-webkit-scrollbar-thumb {
650      border-radius: 6px;
651      background-color: rgba(150, 150, 150, 1);
652      border: 4px solid rgba(150, 150, 150, 1);
653      background-clip: content-box;
654    }
655
656    html body[for='html-export']:not([dpm]) {
657      position: relative;
658      width: 99%;
659      height: 99%;
660      top: 1px;
661      left: 1px;
662      margin: 1px;
663      padding: 1px;
664      overflow: auto;
665    }
666
667    html body[for='html-export']:not([dpm]) .smartperf-preview {
668      position: relative;
669      top: 1px;
670    }
671
672    @media screen and (min-width: 914px) {
673      html body[for='html-export']:not([dpm]) .smartperf-preview {
674        padding: 2em calc(50% - 458px + 2em);
675      }
676    }
677
678    @media screen and (max-width: 914px) {
679      html body[for='html-export']:not([dpm]) .smartperf-preview {
680        padding: 1.9em;
681      }
682    }
683
684    @media screen and (max-width: 450px) {
685      html body[for='html-export']:not([dpm]) .smartperf-preview {
686        font-size: 15px !important;
687        padding: 1.1em;
688      }
689    }
690
691    @media print {
692      html body[for='html-export']:not([dpm]) #sidebar-toc-btn {
693        display: none;
694      }
695    }
696
697    html body[for='html-export']:not([dpm]) #sidebar-toc-btn {
698      position: fixed;
699      bottom: 9px;
700      left: 9px;
701      font-size: 28px;
702      cursor: pointer;
703      color: inherit;
704      z-index: 99;
705      width: 31px;
706      text-align: center;
707      opacity: 0.5;
708    }
709
710    html body[for='html-export']:not([dpm])[hsst] #sidebar-toc-btn {
711      opacity: 1;
712    }
713
714    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc {
715      position: fixed;
716      top: 1px;
717      left: 1px;
718      width: 300px;
719      height: 99%;
720      padding: 32px 0 48px 0;
721      font-size: 14px;
722      box-shadow: 1px 1px 4px rgba(150, 150, 150, 0.33);
723      box-sizing: border-box;
724      overflow: auto;
725      background-color: inherit;
726    }
727
728    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar {
729      width: 9px;
730    }
731
732    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-track {
733      border-radius: 11px;
734      background-color: transparent;
735    }
736
737    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc::-webkit-scrollbar-thumb {
738      border-radius: 6px;
739      background-color: rgba(150, 150, 150, 0.66);
740      border: 3px solid rgba(150, 150, 150, 0.66);
741      background-clip: content-box;
742    }
743
744    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc a {
745      text-decoration: none;
746    }
747
748    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul {
749      padding: 1px 1.7em;
750      margin-top: 0.9em;
751    }
752
753    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc li {
754      margin-bottom: 0.8em;
755    }
756
757    html body[for='html-export']:not([dpm])[hsst] .md-sidebar-toc ul {
758      list-style-type: none;
759    }
760
761    html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
762      left: 301px;
763      width: calc(100% - 300px);
764      padding: 2em calc(50% - 457px - 150px);
765      margin: 1px;
766      box-sizing: border-box;
767    }
768
769    @media screen and (max-width: 1274px) {
770      html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
771        padding: 1.9em;
772      }
773    }
774
775    @media screen and (max-width: 450px) {
776      html body[for='html-export']:not([dpm])[hsst] .smartperf-preview {
777        width: 99%;
778      }
779    }
780
781    html body[for='html-export']:not([dpm]):not([hsst]) .smartperf-preview {
782      left: 50%;
783      transform: translateX(-50%);
784    }
785
786    html body[for='html-export']:not([dpm]):not([hsst]) .md-sidebar-toc {
787      display: none;
788    }
789  </style>
790</head>
791<body for="html-export" id="body">
792<div class="smartperf smartperf-preview">
793  <h1 class="mume-header fontColor">App startup的抓取和展示说明</h1>
794
795  <p class="fontColor">
796    应用启动分析功能主要是提供应用启动分析模板帮助系统调优人员做应用启动慢场景问题分析,快速查找系统侧启动慢阶段和耗时长调用栈信息。
797  </p>
798  <h3 class="mume-header fontColor">App startup抓取参数的配置</h3>
799
800  <p class="fontColor">
801    <img src="../figures/appstartup/appstartupconfig.jpg" alt="GitHub Logo"/><br/>
802    配置项说明:
803  </p>
804  <ul class="fontColor">
805    <li>
806          <pre class="smartperf-text fontColor light">
807App startup:配置项的总开关。
808</pre
809>
810    </li>
811  </ul>
812  <h3 class="mume-header fontColor">App startup展示说明</h3>
813
814  <p class="fontColor">将抓取的App startup文件导入到smartperf工具中,查看应用启动各阶段耗时的情况。</p>
815  <h3 class="mume-header fontColor">App startup泳道图展示</h3>
816
817  <p class="fontColor">
818    App startup的泳道图展示:<br/>
819    <img src="../figures/appstartup/appstartuprow.jpg" alt="GitHub Logo"/><br/>
820    应用启动包括六个阶段,分别是Process Creating(应用进程创建阶段)、Application Launching(加载应用阶段)、UI Ability
821    Launching(加载UI Ability)、UI Ability OnForeground(应用进入前台)、First Frame - APP
822    Phase(首帧渲染提交-应用)、First Frame - Render Phase(首帧渲染提交-Render
823    Service)。每个阶段的Slice上都会显示出该阶段的时延。
824  </p>
825  <h3 class="mume-header fontColor">App startup泳道图点选功能</h3>
826
827  <p class="fontColor">
828    可以对启动各个阶段的Slice进行点选,点选后在最下方的弹出层中会展示点选数据的统计的tab页。<br/>
829    以Process Creating的Slice点选为例:<br/>
830    <img src="../figures/appstartup/appstartupslice.jpg" alt="GitHub Logo"/>
831  </p>
832  <ul class="fontColor">
833    <li>
834          <pre class="smartperf-text fontColor light">
835StartTime(Relative): 应用启动开始时间(相对时间)。
836</pre
837>
838    </li>
839    <li>
840          <pre class="smartperf-text fontColor light">
841StartTime(Absolute): 应用启动开始时间(绝对时间)。
842</pre
843>
844    </li>
845    <li>
846          <pre class="smartperf-text fontColor light">
847EndTime(Relative):应用启动的结束时间(相对时间)。
848</pre
849>
850    </li>
851    <li>
852          <pre class="smartperf-text fontColor light">
853EndTime(Absolute):应用启动的结束时间(绝对时间)。
854</pre
855>
856    </li>
857    <li>
858          <pre class="smartperf-text fontColor light">
859Duration:应用启动的持续时间。
860</pre
861>
862    </li>
863  </ul>
864  <h3 class="mume-header fontColor">App startup泳道图Tab页跳转功能</h3>
865
866  <p class="fontColor">
867    点击各阶段的起始或者结束时间后面的跳转图标,跳转至关联Slice,并显示该Slice的详细信息。<br/>
868    以Process Creating的跳转为例:<br/>
869    <img src="../figures/appstartup/appstartupjump.jpg" alt="GitHub Logo"/><br/>
870    跳转说明:
871  </p>
872  <ul class="fontColor">
873    <li>
874          <pre class="smartperf-text fontColor light">
875StartTime(Relative)的跳转: 跳转到H:virtual int OHOS::AAFwk::AbilityManagerService::StartAbility关键字函数。
876</pre
877>
878    </li>
879    <li>
880          <pre class="smartperf-text fontColor light">
881EndTime(Relative)的跳转: 跳转到H:virtual void OHOS::AppExecFwk::AppMgrServiceInner::AttachApplication关键字函数,并且调用栈要带##应用名,如##com.ohos.smartperf882</pre
883>
884    </li>
885  </ul>
886  <h3 class="mume-header fontColor">App startup泳道图的框选功能</h3>
887
888  <p class="fontColor">
889    应用启动阶段泳道图框选功能主要是框选启动分析泳道图之后,统计应用各个启动阶段的耗费时长信息。<br/>
890    <img src="../figures/appstartup/appstartupdrag.jpg" alt="GitHub Logo"/>
891  </p>
892  <ul class="fontColor">
893    <li>
894          <pre class="smartperf-text fontColor light">
895Process / Startup: 应用名称和启动阶段名称。
896</pre
897>
898    </li>
899    <li>
900          <pre class="smartperf-text fontColor light">
901Duration:应用各阶段启动时长。
902</pre
903>
904    </li>
905    <li>
906          <pre class="smartperf-text fontColor light">
907%:应用各阶段启动时长的占比。
908</pre
909>
910    </li>
911  </ul>
912  <h3 class="mume-header fontColor">So初始化泳道图展示</h3>
913
914  <p class="fontColor">
915    So初始化的泳道图展示:<br/>
916    <img src="../figures/appstartup/staticinitilizationrow.jpg" alt="GitHub Logo"/>
917  </p>
918  <h3 class="mume-header fontColor">So初始化泳道图的点选功能</h3>
919
920  <p class="fontColor">
921    点选So初始化的Slice,展示该so初始化信息的tab页。<br/>
922    <img src="../figures/appstartup/staticinitilizationslice.jpg" alt="GitHub Logo"/>
923  </p>
924  <ul class="fontColor">
925    <li>
926          <pre class="smartperf-text fontColor light">
927Name:So的名称。
928</pre
929>
930    </li>
931    <li>
932          <pre class="smartperf-text fontColor light">
933StartTime(Relative):So初始化开始时间(相对时间)。
934</pre
935>
936    </li>
937    <li>
938          <pre class="smartperf-text fontColor light">
939StartTime(Absolute):So初始化开始时间(绝对时间)。
940</pre
941>
942    </li>
943    <li>
944          <pre class="smartperf-text fontColor light">
945Duration:So初始化耗时。
946</pre
947>
948    </li>
949  </ul>
950  <h3 class="mume-header fontColor">So初始化泳道图Tab页跳转功能</h3>
951
952  <p class="fontColor">
953    点击So初始化开始时间后面的跳转图标,跳转至关联Slice,并显示该Slice的详细信息。<br/>
954    <img src="../figures/appstartup/staticinitilizationjump.jpg" alt="GitHub Logo"/><br/>
955    跳转说明:
956  </p>
957  <ul class="fontColor">
958    <li>
959          <pre class="smartperf-text fontColor light">
960StartTime(Relative)的跳转: 跳转到dlopen:  system/lib64/extensionability/libinputmethod_extension_module.z.so961</pre
962>
963    </li>
964  </ul>
965  <h3 class="mume-header fontColor">So初始化泳道图的框选功能</h3>
966
967  <p class="fontColor">
968    So初始化泳道图框选功能主要是框选So初始化泳道图之后,统计各个进程下各个So的初始化耗费时长信息。<br/>
969    <img src="../figures/appstartup/staticinitilizationdrag.jpg" alt="GitHub Logo"/>
970  </p>
971  <ul class="fontColor">
972    <li>
973          <pre class="smartperf-text fontColor light">
974Process / Lib: 应用名称和So名称。
975</pre
976>
977    </li>
978    <li>
979          <pre class="smartperf-text fontColor light">
980Duration:So的耗费时长。
981</pre
982>
983    </li>
984  </ul>
985</div>
986
987<script>
988  window.onload = () => {
989    let isDark = window.location.search;
990    if (isDark.indexOf('?') != -1) {
991      isDark = isDark.substr(1, isDark.length - 1);
992    }
993    if (isDark == 'true') {
994      document.getElementById('body').setAttribute('style', 'background-color:#272C34;');
995      let header = document.getElementsByClassName('fontColor');
996      for (let i = 0; i < header.length; i++) {
997        header[i].style.color = '#fff';
998      }
999      let lightBackGround = document.getElementsByClassName('light');
1000      for (let i = 0; i < lightBackGround.length; i++) {
1001        lightBackGround[i].style.backgroundColor = '#32373F';
1002      }
1003    }
1004  };
1005</script>
1006</body>
1007</html>
1008