Во-первых, в той же статье говорится, что:
Родители отображаются с фиолетовым фоном, а дети с желтым фоном
Так что LoadListener.nativeFinished является родительская функция и все строки с отступами под ней children или функции, вызванные родителем.
Панель профиля
Вот клиппанели профиля из статьи:
В последнем столбце таблицы показано количество вызовов этого метода плюс количество рекурсивных вызовов.
В последнем столбце первой строки (родительского) указывается количество вызовов и рекурсивных вызовов, выполненных этой функции: 14 итеративных и 0 рекурсивных вызовов, разделенных символом плюса ( 14 + 14 * 1025).*).
Я думаю, что автор статьи случайно произнес несколько слов и в результате следующая строка немного сбивает с толку:
В последнем столбце показано количество звонковиз общего числаКоличество вызовов, сделанных этому методу.
В дочерних строках с желтым фоном под родительским элементом последний столбец фактически не указывает Calls + Rec.Обратите внимание на изменение в нотации - используется дробь по сравнению с синтаксисом символа плюс.В случае LoadListener.tearDown 14/14 указывает, что LoadListener.tearDown был вызван родительской функцией 14 раз.Функция LoadListener.tearDown была вызвана 14 в общей сложности в этой трассировке, следовательно, LoadListener.nativeFinished - единственная функция, которая вызвала LoadListener.tearDown в этой трассировке.
Давайте посмотрим на другуюстрока.Последний столбец (дочерней) функции View.invalidate имеет значение 2413/2853.Это не означает, что View.invalidate вызывался 2413 раз итеративно и 2853 раза рекурсивно.Вместо этого это означает, что родительская функция LoadListener.nativeFinished вызывала View.invalidate 2413 раз.
Теперь взгляните на строку № 6, и вы увидите, что View.invalidate вызывался 2853 раза итеративно и 0 разрекурсивно.Поэтому родительская функция LoadListener.nativeFinished является единственной функцией, которая когда-либо вызывала LoadListener.tearDown в этой трассировке.
Панель временной шкалы
Вот фрагмент панели временной шкалы из статьи:
Из той же статьи,
Тонкие линии под первым рядом показывают экстент (вход в выход) всех вызовов на выбранныйmethod
Обратите внимание на тонкие, похожие на скобки розовые линии, которые проходят горизонтально непосредственно под выделенным участком главной нити.Крайние левые розовые скобки очень короткие;они представляют 13/14 вызовов LoadListener.nativeFinished, которые завершаются относительно быстро.Последняя скоба - самая дальняя справа - значительно длиннее, чем любая другая.Это вызов LoadListener.nativeFinished, который «занял необычайно много времени».