Maybaygiare.org

Blog Network

Zkontrolujte činnost CPU s CPU Profiler

Optimalizace aplikace využití CPU má mnoho výhod, jako je poskytování fasterand plynulejší uživatelské zkušenosti a zachování životnost baterie zařízení.

můžete použít CPU Profiler zkontrolujte, zda vaše aplikace je využití PROCESORU a podproces activityin reálném čase při interakci s vaší aplikace, nebo si můžete prohlédnout podrobnosti inrecorded metoda stopy, funkce stop a systém traces.

zvláštní druhy informací, že CPU Profiler záznamy a ukazuje, aredetermined které konfigurace nahrávání můžete si vybrat:

  • sledování Systému: Zachycuje jemné detaily, které vám umožní nahlédnout howyour aplikace komunikuje s prostředky systému.
  • Metoda a funkce stop: Pro každé vlákno v aplikaci, proces, můžetenajít zjistit, které metody (Java) nebo funkce (C/C++) jsou prováděny přes dobu času a prostředků CPU každá metoda nebo funkce spotřebovává během itsexecution. Stopy metod a funkcí můžete také použít k identifikaci volajících a volajících. Volající je metoda nebo funkce, která vyvolá jinou funkci methodor, a volající je metoda, která je vyvolána jinou metodou orfunction. Můžete použít tyto informace zjistit, které metody nebo functionsare zodpovědný za vyvolání určité zdroje-těžké úkoly příliš často andoptimize kód aplikace, aby se zabránilo zbytečné práci.

    při nahrávání stopy metody můžete zvolit vzorkované nebo instrumentedrecording. Při nahrávání stop funkcí můžete použít pouze vzorkované nahrávání.

podrobnosti o použití a výběru každé z těchto trasovacích možností naleznete v části vyberte konfiguraci záznamu.

CPU Profiler přehled

otevřít CPU Profiler, postupujte takto:

  1. Vyberte možnost Zobrazit > Nástroj Windows > Profiler nebo klikněte na Profil v panelu nástrojů.

    Pokud budete vyzváni dialogem vybrat cíl nasazení, vyberte zařízení, které chcete aplikaci nasadit pro profilování. Pokud jste připojili zařízení přes Usbale nevidíte jej v seznamu, ujistěte se, že jste haveenabled ladění USB.

  2. kliknutím na libovolné místo v časové ose CPU otevřete Profiler CPU.

Když otevřete Profiler CPU, okamžitě začne zobrazovat aktivitu CPUusage a podprocesu vaší aplikace. Měli byste vidět něco podobného obrázku 1.

Obrázek 1. Časové osy v PROFILERU CPU.

jak je uvedeno na obrázku 1, výchozí zobrazení pro Profiler CPU zahrnuje následující časové osy:

  1. časová osa události: Zobrazuje aktivity ve vaší aplikaci při přechodu různými stavy v jejich životním cyklu a označuje interakce uživatelů se zařízením, včetně událostí rotace obrazovky. Informace o povolení časové osy události na zařízeních se systémem Android 7.1 (úroveň API 25) a nižší, viz povolit pokročilé profilování.
  2. časová osa CPU: zobrazuje využití procesoru v reálném čase vaší aplikace – jako procento z celkového dostupného času procesoru – a celkového počtu vláken, které vaše aplikace používá. Časová osa také ukazuje využití CPU jiných procesů (jako jsou systémové procesy nebo jiné aplikace), takže je můžete porovnat s používáním aplikace. Můžete si prohlédnout historické údaje o využití CPU pohybem myši podél vodorovné osy časové osy.
  3. Časová osa aktivity podprocesu: vypíše jednotlivé podprocesy, které patří do procesu aplikace, a označuje jejich aktivitu na časové ose pomocí níže uvedených barev. Po nahrání stopy můžete vybrat vlákno z této časové osy a zkontrolovat jeho data v podokně trasování.
    • zelená: podproces je aktivní nebo je připraven k použití CPU. To znamená, že je v běžícím nebo běžícím stavu.
    • Žlutá: vlákno je aktivní, ale čeká na I/o operaci, jako je disk nebo síťový I/O, než bude moci dokončit svou práci.
    • Šedá: vlákno spí a nespotřebovává žádný čas procesoru. K tomu někdy dochází, když vlákno vyžaduje přístup k prostředku, který ještě není k dispozici. Buď vlákno přejde do dobrovolného spánku, nebo jádro uvede vlákno do režimu spánku, dokud nebude k dispozici požadovaný zdroj.

    CPU Profiler také hlášení využití PROCESORU podprocesy, že Android Studio a Android platformy přidat do vaší aplikace procesu—například JDWPProfile SaverStudio:VMStatsStudio:Perfa, a Studio:Heartbeat (i když, přesné názvy zobrazí v závitu aktivity harmonogram se může lišit). Android Studio hlásí tato data, takže můžete určit, kdy je aktivita vlákna a využití procesoru skutečně způsobeno kódem vaší aplikace.

záznam Stop

Chcete-li zahájit nahrávání stop, vyberte konfiguraci záznamu z rozbalovací nabídky nad nebo pod PROFILEREM CPU a klikněte na záznam.

Obrázek 2. Profiler CPU zobrazuje stav, trvání a typ záznamu, který se provádí.

komunikujte s vaší aplikací a po dokončení klikněte na tlačítko Zastavit. Theprofiler automaticky zobrazí jeho obrysu informace v trasování podokně, jak to ukazuje obrázek 3:

Obrázek 3. CPU Profiler po záznamu amethod stopy.

  1. vybraný rozsah: určuje část zaznamenaného času pro kontrolu v podokně trasování. Když poprvé zaznamenáte stopu, Profiler CPU automaticky vybere celou délku záznamu na časové ose CPU. Chcete-li zkontrolovat data trasování pouze pro část zaznamenaného časového rozsahu, přetáhněte okraje zvýrazněné oblasti.
  2. sekce interakce: zobrazuje interakci uživatele a události životního cyklu aplikace podél časové osy.
  3. sekce podprocesů: zobrazuje aktivitu stavu podprocesu (například běh, spánek atd.).) a Call Chart (nebo trace event chart v systému Trace) pro každé vlákno podél časové osy.
    • Pomocí myši a klávesové zkratky pro navigaci na časové ose.
    • Poklepejte na název vlákna nebo stiskněte klávesu Enter, zatímco vlákno je vybráno pro rozbalení nebo sbalení vlákna.
    • Vyberte podproces pro zobrazení dalších informací v podokně analýzy. Podržte klávesu Shift nebo Ctrl (příkaz v systému Mac) a vyberte více podprocesů.
    • Vyberte volání metody (nebo událost trasování v systému trasování) a zobrazte další informace v podokně analýzy.
  4. panel analýzy: Zobrazuje data trasování pro časové období a vlákno nebo metodu volání, které jste vybrali. V tomto podokně můžete vybrat, jak zobrazit každou stopu zásobníku (pomocí karet analýzy) a jak měřit čas spuštění (pomocí rozbalovací nabídky reference času).
  5. záložky podokna analýzy: Zvolte, jak zobrazit detaily trasování. Podrobnosti o každé možnosti, viz zkontrolovat stopy.
  6. Časové referenční menu: vyberte jednu z následujících možností a určete, jak se měří informace o časování pro každý hovor (podporováno pouze v metodách Sample/Trace Java):
    • čas nástěnných hodin: Informace o načasování představují skutečný uplynulý čas.
    • Thread time: informace o časování představuje skutečný uplynulý čas minus jakoukoli část času, kdy vlákno nespotřebovává prostředky CPU. Pro daný hovor, jeho doba závitu je vždy menší nebo rovna času jeho nástěnných hodin. Použití času vlákna vám dává lepší pochopení toho, kolik skutečného využití procesoru vlákna je spotřebováno danou metodou nebo funkcí.
  7. filtr: filtruje data trasování podle funkce, metody, třídy nebo názvu balíčku. Chcete-li například rychle identifikovat trasovací data související s konkrétním hovorem, zadejte název do vyhledávacího pole. Na kartě Graf plamene jsou zdůrazněny zásobníky hovorů, které obsahují hovor, balíček nebo třídu, která odpovídá vyhledávacímu dotazu. Na kartách shora dolů a zdola nahoru jsou tyto zásobníky hovorů upřednostňovány před jinými výsledky trasování. Můžete také povolit následující možnosti zaškrtnutím příslušného políčka vedle vyhledávacího pole:
    • Regex: patří regulární výrazy ve vyhledávání, použijte tuto volbu.
    • Match case: pokud je vaše vyhledávání velká a velká písmena, použijte tuto volbu.

Tip: při kontrole časové osy vláken jsou k dispozici následující zkratky:

  • přiblížit: stiskněte W nebo posuňte kolečko myši, zatímco držíte Ctrl (příkaz v systému Mac).
  • oddálit: stiskněte S nebo posuňte kolečko myši dozadu, zatímco držíte Ctrl (příkaz v systému Mac).
  • Pan left: stiskněte a nebo přetáhněte myš doprava, zatímco držíte prostor.
  • Pan right: stiskněte D nebo přetáhněte myš doleva, zatímco držíte místo.
  • rozbalte nebo sbalte vlákno: Poklepejte na název vlákna nebo stiskněte klávesu Enter, když je vlákno vybráno.

Vyberte nahrávání konfigurace

předtím, Než začnete nahrávat informace o trasování, vyberte příslušnou recordingconfiguration pro profilování informace, které chcete zachytit:

  • Vzorek Java Metody: Zachycuje vašem app zásobníku volání v častých intervalech během vaší aplikace Java-založené spuštění kódu. Profiler porovnává sady zachycených dat a odvozuje informace o načasování a využití zdrojů o spuštění kódu založeného na Javě vaší aplikace.

    vlastní vydání ve vzorku-na základě obrysu je, že pokud vaše aplikace zadá metoda po zachycení zásobníku volání a ukončí metodu před dalším zachytit, že volání metody není přihlášen do profiler. Pokud máte zájem o trasovací metody s tak krátkými životními cykly, měli byste použít instrumentované trasování.

  • Trace Java Methods: Nástroje aplikace za běhu zaznamenat časové razítko na začátku a na konci každého volání metody. Časová razítka se shromažďují a porovnávají s generováním dat o trasování metod, včetně informací o načasování a využití CPU.

    Všimněte si, že režijní náklady spojené s instrumenting každá metoda dopady runtime výkonnosti a může mít vliv na profilování data; to je ještě více patrný u metody s relativně krátký životní cyklus. Navíc, pokud vaše aplikace provede velký počet metod v krátké době, profiler mohou rychle překročit svůj limit velikosti souboru a nemusí být možné zaznamenat další data obrysu.

  • ukázkové funkce C / C++: zachycuje vzorkované stopy nativních vláken vaší aplikace. Chcete-li tuto konfiguraci použít, musíte aplikaci nasadit na zařízení se systémem Android 8.0 (úroveň API 26) nebo vyšší.

    interně tato konfigurace používá simpleperf ke sledování nativního kódu aplikace. Pokud chcete zadat další možnosti pro simpleperf, např. odběr vzorků konkrétní zařízení Cpu nebo určení vzorků trvání na vysokou přesnost, můžete použít simpleperf z příkazového řádku.

  • Trace System Calls: zachycuje jemnozrnné detaily, které vám umožní zkontrolovat, jak vaše aplikace interaguje se systémovými prostředky. Můžete zkontrolovat přesné časování a trvání stavů podprocesů, vizualizovat, kde jsou vaše úzká místa CPU ve všech jádrech, a přidat vlastní trasovací události k analýze. Tyto informace mohou být rozhodující při řešení problémů s výkonem. Chcete-li tuto konfiguraci použít, musíte aplikaci nasadit na zařízení se systémem Android 7.0 (úroveň API 24) nebo vyšší.

    při použití této konfigurace trasování můžete vizuálně označit důležité rutiny kódu v časové ose profileru instrumentací kódu. Pro instrument C / C++ kódu, použijte nativní trasování API poskytované trace.h. Pro instrument Java kódu použijte třídu Trace. Pro více informací, viz nástroj kód aplikace.

    tato konfigurace trasování je postavena na systrace. Pomocí nástroje systrace příkazového řádku můžete zadat možnosti nad rámec možností uvedených v PROFILERU CPU. Další systém na úrovni dat poskytnutých systrace může pomoci kontrolovat nativní systém procesů a řešení problémů upustil nebo opožděné snímky.

    na zařízeních se systémem Android 9 (úroveň API 28) nebo vyšší, můžete použít systémovou aplikaci nazvanou System Tracing pro záznam systémových stop na zařízení.

Vytvořit, upravit nebo zobrazit konfiguraci nahrávání

můžete vytvořit, upravit a zobrazit nahrávání konfigurace do CPU RecordingConfigurations dialogovém okně, které můžete otevřít výběrem možností Upravit configurationsfrom nahrávání konfigurace rozbalovací menu v horní části CPU Profiler.

Chcete-li zobrazit nastavení existující konfigurace záznamu, vyberte ji v levém podokně dialogového okna Konfigurace záznamu CPU.

Chcete-li vytvořit novou konfiguraci záznamu, proveďte následující kroky:

  1. klikněte na Přidat v levém horním rohu dialogového okna. Tím se vytvoří nová konfigurace s nastavením somedefault.
  2. pojmenujte konfiguraci.
  3. Vyberte technologii trasování.
  4. u vzorkovaných konfigurací záznamu zadejte interval vzorkování v mikrosekundách (µs). Tato hodnota představuje čas mezi každým vzorkem zásobníku hovorů vaší aplikace. Čím kratší je interval, který zadáte, tím rychlejidosáhnout limitu velikosti souboru pro zaznamenaná data.
  5. zadejte limit velikosti souboru v megabajtech (MB) pro zaznamenaná data zapsaná do připojeného zařízení. Když zastavíte nahrávání, AndroidStudio analyzuje tato data a zobrazí je v okně profiler. Takže pokud anozvýšit limit a zaznamenat velké množství dat, Android Studio trvámnohem déle analyzovat soubor a může přestat reagovat.

    Poznámka: Pokud používáte připojené zařízení se systémem Android 8.0 (API level 26)nebo vyšší, není tam žádný limit na velikost souboru trasování dat, a thisvalue je ignorována. Stále však musíte být opatrní, kolik datzařízení shromažďuje po každém záznamu-Android Studio může mít obtížnéprozkoumat velké stopové soubory. Například, pokud jste nahrávání buď sampledtrace s krátkým intervalem odběru vzorků nebo přístroji stopy, zatímco vaše appcalls mnoho metod v krátké době, budete generovat velké trasovací soubory rychle.

  6. Chcete-li změny přijmout a pokračovat v provádění změn v jiných konfiguracích,klikněte na Použít. Chcete-li přijmout všechny použité změny a zavřít dialogové okno, klikněte na tlačítko.

Záznam činnosti PROCESORU s Debug API

můžete použít Debug API aby vaše aplikace theability spustit a zastavit nahrávání činnosti PROCESORU v CPU Profiler.

CPU Profiler začne nahrávat, když vaše aplikace volástartMethodTracing(String tracePath)a CPU Profiler přestane nahrávat, když vaše aplikace volástopMethodTracing(). Whileerecording CPU aktivitu, která je spuštěna pomocí tohoto API, CPU profiler showsDebug API jako aktivní konfigurace záznamu CPU.

K ovládání nahrávání činnosti PROCESORU s Debug API, nasadit yourinstrumented aplikace pro zařízení se systémem Android 8.0 (API level 26) nebo vyšší.

Důležité: Debug API je určen k usedseparately z jiné znamená, že pro spuštění a zastavení nahrávání CPUactivity, jako jsou tlačítka v CPU Profiler grafické uživatelské rozhraní a nastavení nahrávání konfigurace pro automatické nahrávání na appstartup.

Vzhledem k velikosti vyrovnávací paměti limit 8 MB, startMethodTracing(String tracePath) metody v Debug API je určen pro krátké intervaly nebo scénáře, které arehard pro spuštění/zastavení nahrávání ručně. Pro delší dobu nahrávání použijteu rozhraní profileru v aplikaci Android Studio.

pro více informací, vizegenerate trasování protokoly instrumentací aplikace.

Záznam činnosti PROCESORU při spuštění aplikace

Pro zahájení nahrávání činnosti PROCESORU automaticky při spuštění app, proveďte následující:

  1. Vyberte > Upravit Konfigurace.
  2. v záložce profilování zaškrtněte políčko vedle možnosti zahájit nahrávání metody při spuštění.
  3. vyberte konfiguraci záznamu CPU Z nabídky.
  4. klikněte na Použít.
  5. nasaďte aplikaci na zařízení se systémem Android 8.0 (úroveň API 26) nebo vyšší výběrem Run > Profile.

Export stopy

Po nahrání činnost CPU s CPU profiler, můžete exportovat data asa .trace soubor sdílet s ostatními, nebo zkontrolovat později.

Chcete-li exportovat soubor trasování z časové osy CPU, proveďte následující kroky:

  1. v časové ose CPU klepněte pravým tlačítkem myši na zaznamenanou metodu trace nebo systém traceth, kterou chcete exportovat.
  2. Vyberte z nabídky exportovat stopu.
  3. přejděte na místo, kam chcete soubor uložit, zadejte název souboru, a clickOK.

Chcete-li exportovat soubor trasování z podokna relací, proveďte následující kroky:

  1. v podokně relací klepněte pravým tlačítkem myši na zaznamenanou stopu, kterou chcete exportovat.
  2. klikněte na tlačítko Export method trace nebo export system trace v pravé části záznamu relace.
  3. přejděte na místo, kam chcete soubor uložit, zadejte název souboru, a clickOK.

Import stopy

můžete importovat .trace soubory vytvořené pomocíDebug API nebo CPU Profiler.

importujte soubor trasování kliknutím na tlačítko Spustit novou relaci profileru v podokně relace Profiler a poté výběrem možnosti načíst ze souboru.

můžete zkontrolovat importovanou stopu v PROFILERU CPU stejně jako u Stop zachycených přímo v PROFILERU CPU, s následujícími výjimkami:

  • aktivita CPU není zastoupena podél časové osy CPU (s výjimkou trasování systému).
  • časová osa v sekci vlákna nezobrazuje stavy podprocesů, jako je běh, čekání nebo spánek (s výjimkou trasování systému).

Zkontrolujte, zda stopy

trace zobrazení v CPU Profiler poskytuje několik způsobů, jak zobrazit informaceod zaznamenané stopy.

pro metody stopy a funkce stopy, můžete zobrazit Call Chartdipřímo v vláknech časová osa a graf plamene, shora dolů, andBottom Up karty z podokna analýzy. Pro systémové stopy můžete sledovat události trasování přímo v časové ose vláken a graf flame, karty shora dolů a zdola nahoru z Analytispane.

myši a klávesové zkratky jsou k dispozici pro easiernavigation volání grafů nebo trasování událostí.

zkontrolujte stopy pomocí grafu volání

Graf volání poskytuje grafické znázornění stopy metody nebo stopy funkce, kde je perioda a načasování hovoru znázorněno na horní ose a jeho volající jsou zobrazeny podél svislé osy. Volání tosystémová rozhraní API jsou zobrazena oranžově, volání na vlastní metody aplikace jsou zobrazeny v aplikaci a volání na rozhraní API třetích stran (včetně rozhraní API jazyka Java) jsou zobrazena inblue. Obrázek 4 ukazuje příklad Volání Graf a ilustruje pojem ofself čas, děti čas, a celkový čas pro danou metodu nebo funkci. O těchto pojmech se můžete dozvědět více v části jakzkontrolovat stopy pomocí shora dolů a zdola nahoru.

obrázek 4. Příklad grafu volání, který ilustruje sebe, děti a celkový čas pro metodu D.

Tip: Chcete-li přeskočit zdrojový kód metody nebo funkce, klepněte pravým tlačítkem myši na něj a vyberte přejít na zdroj. Funguje to z kterékoli z karet podokna analýzy.

zkontrolujte stopy pomocí karty Graf plamene

karta Graf plamene poskytuje invertovaný graf volání, který agreguje identické stohy hovorů. To je stejné metody nebo funkce, které sdílejí stejný sled volající jsou shromažďovány a prezentovány jako jeden delší, bar v plamenech grafu (spíše než jejich zobrazení jako několik kratších tyčí, jak je uvedeno v dej graf). To usnadňuje zjistit, které metody nebo funkce spotřebujívětšinu času. To však také znamená, že vodorovná osa nepředstavuje atimeline; místo toho označuje relativní čas, který každá metoda nebo funkce potřebuje k provedení.

Chcete-li tento koncept ilustrovat, zvažte graf volání na obrázku 5. Všimněte si, že metoda D dělá více volání na B (B1, B2, andB3), a některé z těchto volání na B volat na C (C1 a C3).

obrázek 5. Volání Graf s více metod volání, které sdílejí společnou posloupnost volajících.

protože B1, B2 A B3 sdílejí stejnou sekvenci volajících (a → D → B) jsou agregovány, jak je znázorněno na obrázku 6. Podobně, C1 a C3 jsou agregovány, protože sdílejí stejnésekvence volajících (a → D → B → C); všimněte si, že C2 není zahrnutoprotože má jinou sekvenci volajících (a → D → C).

obrázek 6. Agregace identických metod, které sdílejístejný zásobník hovorů.

agregované hovory se používají k vytvoření grafu plamene, jak je znázorněno na obrázku 7.Všimněte si, že pro daný hovor v grafu plamene se nejprve objeví volající, kteří spotřebovávají většinu času procesoru.

Obrázek 7. Plamen graf znázornění callchart je znázorněno na obrázku 5.

zkontrolujte stopy pomocí shora dolů a zdola nahoru

karta shora dolů zobrazuje seznam hovorů, ve kterých rozšíření uzlu metody nebo funkce zobrazuje jeho volání. Obrázek 8 ukazuje graf shora dolů pro callchart na obrázku 4. Každá šipka v grafu ukazuje od volajícího k volajícímu.

, Jak je znázorněno na obrázku 8, rozšíření uzlu pro metodu A v Shora Dolů tabdisplays jeho bylo nutné callees, metody B a D. Po tom, rozšíření uzel pro methodD odhaluje jeho bylo nutné callees, metody B a C, a tak dále. Podobně jako u Flame charttab, strom shora dolů agreguje trasovací informace pro stejné metody, které sdílejí stejný zásobník hovorů. To znamená, že karta Flame chart poskytuje grafickýreprezentace karty shora dolů.

Shora Dolů tab poskytuje následující informace, které pomohou popsat CPUtime strávil na každé volání (časy jsou také reprezentován jako procentní podíl z thethread je celkový čas průběhu zvoleného rozsahu):

  • Self: čas, metodu nebo volání funkce strávený prováděním vlastní kóda není to jeho bylo nutné callees, jak je znázorněno na obrázku 4 pro metodu D.
  • Děti: čas, metodu nebo volání funkce strávil vykonávající itscallees a ne svůj vlastní kód, jak je znázorněno na obrázku 4 pro metodu D.
  • Celkem: součet metody Self a Děti čas. Thisrepresents celkový čas aplikace strávil provedením hovoru, jak je znázorněno infigure 4 pro metodu D.

Obrázek 8. Strom shora dolů.

obrázek 9. Strom zdola nahoru pro metodu C z obrázku 8.

Záložka zdola nahoru zobrazuje seznam hovorů, ve kterých rozšiřuje funkci nebo uzel metody zobrazuje své volající. 8, obrázek 9 poskytuje strom zdola nahoru pro metodu C. Otevření uzlu pro metodu Cin zdola nahoru strom, zobrazuje každou jeho jedinečné volající, metody B a D. Poznámkaže, i když B volá C dvakrát, B se zobrazí pouze jednou, když rozšíření uzlu formethod C v dna nahoru strom. Po tom, rozšíření uzlu pro B displaysits volajícího, metody a a D.

Zdola Nahoru karta je užitečné pro třídění metod nebo funkcí pomocí těchto thatconsume nejvíce (nebo nejméně) času CPU. Každý uzel můžete zkontrolovat a určitkteré volající tráví nejvíce času CPU vyvoláním těchto metod nebo funkcí.Ve srovnání se stromem shora dolů jsou informace o načasování pro každou metodu nebo funkci ve stromu abottom up odkazovány na metodu v horní části každého stromu (horní uzel).Čas CPU je také reprezentován jako procento z celkového času vlákna během nahrávání. Následující tabulka pomáhá vysvětlit, jak interpretovat časováníinformace pro horní uzel a jeho volající (sub-uzly).

Vlastní Děti Celkem
Metoda nebo funkce v horní části zdola nahoru stromu (nejvyšší uzel) Představuje celkový čas, metodu nebo funkci strávil vykonávající svůj vlastní kód, a ne, že jeho bylo nutné callees. Ve srovnání se stromem shora dolů představuje tato informace o časování součet všech hovorů na tuto metodu nebo funkci po dobu trvání záznamu. představuje celkový čas, který metoda nebo funkce strávila prováděním svých volajících, a nikoli vlastním kódem. Ve srovnání se stromem shora dolů představuje tato informace o časování součet všech hovorů na volání této metody nebo funkce po dobu trvání záznamu. součet vlastního času a času dětí.
Volající (sub-uzly) Představuje celkový vlastní čas volaný, když se nazývá volajícího. Pomocí zdola nahoru strom na obrázku 9 jako příklad, vlastní čas pro metodu B se rovná součtu vlastního časy pro každou realizaci metoda C, když volal do B. Představuje celkovou děti čas volaného, když je vyvolána volajícímu. Pomocí zdola nahoru strom na obrázku 9 jako příklad, děti, čas pro metodu B se rovná součtu děti krát pro každou realizaci metoda C, když volal do B. součet vlastní čas a děti čas.

Poznámka: Pro danou nahrávku Android Studio přestane shromažďovat nová datakdyž profiler dosáhne limitu velikosti souboru(to však nezastaví nahrávání). To se obvykle stává mnohem více rychle, když performinginstrumented stopy, protože tento typ trasování shromažďuje více dat v shortertime, oproti vzorku stopy. Pokud se vám rozšířit kontrolu času do obdobím nahrávání, která nastala po dosažení limitu, načasování dat jízdního stopy podokně nemění (protože žádná nová data je k dispozici). Panel trasování navíc zobrazuje informace o časování NaN, když vyberete pouze část záznamu, která nemá k dispozici žádná data.

zkontrolujte systémové stopy

při kontrole systémové stopy můžete prozkoumat trasovací události v časové ose závitů a zobrazit podrobnosti o událostech, ke kterým dochází v každém vlákně.Najeďte kurzorem myši na událost, abyste viděli název události a čas strávený v každém stavu. Kliknutím na událost zobrazíte další informace v podokně analýzy.

podokno jader CPU (jak je znázorněno na obrázku 10) zobrazuje aktivitu podprocesu naplánovanou na každém jádru. Najeďte kurzorem myši na aktivitu podprocesu a zjistěte, na čem je toto jádro spuštěno v daném čase.

obrázek 10. Zobrazení aktivity CPU a trasování událostí pro vlákno render.

Další informace o kontrole informací o trasování systému vizteinvestigate UI performance problemssection of the systrace documentation.

Zkontrolujte rám vykreslování dat

můžete zkontrolovat, jak dlouho trvá vaše aplikace k vykreslení každého snímku na mainthread a RenderThread zkoumat překážky, které způsobují UI jank a lowframerates.

Na rámu vykreslování dat,záznam stopy pomocí aconfiguration, který vám umožní sledovat systémová Volání. Po zaznamenánístopy vyhledejte informace o každém snímku pod časovou osou rámců v části Zobrazení, jak je znázorněno na obrázku 11.

obrázek 11. Každý snímek, který trvá déle než 16mse zobrazí červeně.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.