Maybaygiare.org

Blog Network

tarkasta suorittimen toimintaa CPU Profiler

optimoimalla sovelluksen suorittimen käyttö on monia etuja, kuten tarjoamalla nopeampi ja sujuvampi käyttökokemus ja säilyttää laitteen akun.

voit käyttää CPU-Profileria tarkastaaksesi sovelluksen suorittimen käytön ja kierteen aktiviteetin reaaliaikaisesti, kun olet vuorovaikutuksessa sovelluksen kanssa, tai voit tarkastaa yksityiskohdat tallennetuissa menetelmän jäljissä, toimintojen jäljissä ja järjestelmän jäljissä.

tietyntyyppiset tiedot, joita suorittimen profiloija tallentaa ja näyttää, määräytyvät sen mukaan, minkä tallennuskokoonpanon valitset:

  • System Trace: kaappaa Hienorakeiset yksityiskohdat, joiden avulla voit tarkastaa, miten sovelluksesi on vuorovaikutuksessa järjestelmäresurssien kanssa.
  • menetelmä ja toiminto jälkiä: kullekin säiettä sovellusprosessissa, voit selvittää, mitä menetelmiä (Java) tai toimintoja (C / C++) suoritetaan ajanjaksona ja CPU resursseja kukin menetelmä tai toiminto kuluttaa sen suorittamisen aikana. Voit myös käyttää menetelmä ja toiminto jälkiä tunnistaa soittajat ja soittimet. Soittaja on menetelmä tai funktio, joka vetoaa toiseen menetelmään tai funktioon, ja soittaja on sellainen, johon vedotaan toisella menetelmällä tai funktiolla. Voit käyttää näitä tietoja määrittää, mitkä menetelmät tai toiminnot ovat vastuussa tiettyjen resurssien raskaita tehtäviä liian usein ja optimoida sovelluksen koodin välttää turhaa työtä.

    kun tallennustapa jälkiä, voit valita sampled tai instrumentedrecording. Tallennettaessa toiminto jälkiä, voit käyttää vain näytteenotto tallennus.

Jos haluat lisätietoja näiden jäljitysvaihtoehtojen käytöstä ja valitsemisesta, valitse tallennuskokoonpano.

suorittimen profiloinnin yleiskatsaus

suorittimen profiloinnin avaamiseksi toimi seuraavasti:

  1. Valitse näkymä > Työkaluikkunat > Profiler tai napsauta profiilia työkalurivillä.

    Jos Select Deployment Target-valintaikkuna vaatii, valitse laite, johon sovellus otetaan käyttöön profilointia varten. Jos olet kytkenyt laitteen USBbut eivät näe sitä luettelossa, varmista, että olet luonut USB-testaus.

  2. Napsauta missä tahansa suorittimen aikajanassa avataksesi suorittimen profiloijan.

kun avaat suorittimen profiloijan, se alkaa heti näyttää sovelluksesi suorittimen ja kierteen toimintaa. Sinun pitäisi nähdä jotain samanlaista kuin kuvassa 1.

kuva 1. Aikajanat suorittimen Profiloijassa.

kuten kuvassa 1 on esitetty, SUORITINPROFILOIJAN oletusnäkymä sisältää seuraavat aikajanat:

  1. Tapahtuman aikajana: Näyttää sovelluksen toiminnot niiden siirtyessä eri tilojen läpi niiden elinkaaren aikana ja osoittaa käyttäjän vuorovaikutusta laitteen kanssa, mukaan lukien näytön pyörimistapahtumat. Lisätietoja tapahtuman aikajanan käyttöönotosta Android 7.1-laitteissa (API-taso 25) ja sitä alemmissa laitteissa on ohjeaiheessa kehittyneen profiloinnin käyttöönotto.
  2. suorittimen aikajana: näyttää sovelluksen reaaliaikaisen suorittimen käytön-prosentteina käytettävissä olevasta suorittimen kokonaisajasta—ja sovelluksen käyttämien kierteiden kokonaismäärän. Aikajana näyttää myös muiden prosessien suorittimen käytön (kuten järjestelmäprosessit tai muut sovellukset), joten voit verrata sitä sovelluksesi käyttöön. Voit tarkastaa historiallisia suorittimen käyttötietoja liikuttamalla hiirtä aikajanan vaaka-akselia pitkin.
  3. Thread activity timeline: listaa jokaisen sovellusprosessiisi kuuluvan langan ja ilmoittaa niiden toiminnan aikajanalla alla lueteltujen värien avulla. Kun olet tallentanut jäljityksen, voit valita tästä aikajanasta kierteen, jonka avulla voit tarkastaa sen tiedot jäljitysruudussa.
    • vihreä: säie on aktiivinen tai valmis käyttämään suoritinta. Eli se on käynnissä tai ajettavissa tilassa.
    • Keltainen: säie on aktiivinen, mutta se odottaa I/O-operaatiota, kuten levyä tai verkon I / O: ta, ennen kuin se saa työnsä valmiiksi.
    • Gray: säie nukkuu eikä kuluta suoritinaikaa. Tämä tapahtuu joskus, kun Lanka vaatii pääsyn resurssiin, joka ei ole vielä käytettävissä. Joko Lanka menee vapaaehtoiseen uneen, tai ydin laittaa langan uneen, kunnes tarvittava resurssi on saatavilla.

    suorittimen profiloija raportoi suorittimen käytöstä myös säikeitä, joita Android Studio ja Android—alusta lisäävät sovellusprosessiisi-kuten JDWPProfile SaverStudio:VMStatsStudio:Perfa, ja Studio:Heartbeat (tosin säieaktiivisuuden aikajanalla näkyvät tarkat nimet voivat vaihdella). Android Studio raportoi nämä tiedot, jotta voit tunnistaa, milloin langan aktiivisuus ja suorittimen käyttö todella johtuvat sovelluksen koodi.

Record traces

aloittaaksesi jäljityksen tallentamisen, valitse tallennuskonfiguraatio jommastakummasta CPU-profiloijan ylä-tai alapuolella olevasta pudotusvalikosta ja napsauta Record.

kuva 2. Suorittimen profiloija näyttää tehtävän tallennuksen tilan,keston ja tyypin.

vuorovaikuta sovelluksesi kanssa ja valitse sitten Lopeta, kun olet valmis. Theprofiler näyttää jäljitystietonsa automaattisesti seurantaruudussa, kuten kuvassa 3:

kuva 3. CPU profiloija tallennuksen jälkeen amethod jäljittää.

  1. valittu alue: määrittää tallennetun tarkastusajan osuuden seurantapaneelissa. Kun tallennat jäljen ensimmäisen kerran, CPU-profiloija valitsee automaattisesti tallennuksen koko pituuden suorittimen aikajanalla. Jos haluat tarkastaa vain osan tallennetusta aikajänteestä, vedä korostetun alueen reunoja.
  2. Vuorovaikutusosio: näyttää käyttäjän vuorovaikutuksen ja sovelluksen elinkaaren tapahtumat aikajanalla.
  3. kierteet-osio: näyttää kierteen tilan toimintaa (kuten juoksua, nukkumista jne.) ja Call Chart (tai jäljittää tapahtumakaavio System Trace) jokaiselle säiettä pitkin aikajanalla.
    • Käytä hiirtä ja pikanäppäimiä navigoidaksesi aikajanalla.
    • kaksoisnapsauta langan nimeä tai paina Enter, kun valittu säie laajentaa tai romahduttaa säiettä.
    • valitse säie nähdäksesi lisätiedot Analyysiruudussa. Pidä Shift tai Ctrl (komento Mac) valita useita säikeitä.
    • valitse menetelmäkutsu (tai trace event in System Trace) nähdäksesi lisätietoja Analyysipaneelissa.
  4. Analyysiruutu: Näyttää valitsemasi aikajanan ja säie-tai menetelmäpuhelun jäljitystiedot. Tässä ruudussa voit valita, miten tarkastella kutakin pinon jäljitystä (analyysivälilehtien avulla) ja kuinka mitata suoritusaikaa (time reference-pudotusvalikosta).
  5. Analysointiruudun välilehdet: Valitse, miten jäljitystiedot näytetään. Lisätietoja kunkin vaihtoehdon, katso tarkastaa jälkiä.
  6. Time reference-valikko: Valitse jokin seuraavista, jotta voit määrittää, miten kunkin puhelun ajoitustiedot mitataan (vain Sample/Trace Java-menetelmissä tuettu):
    • seinäkellon aika: Ajoitustiedot edustavat todellista kulunutta aikaa.
    • Kierreaika: ajoitustiedot kuvaavat todellista kulunutta aikaa vähennettynä millä tahansa osuudella siitä ajasta, kun säie ei kuluta suorittimen resursseja. Minkä tahansa puhelun, sen Lanka aika on aina pienempi tai yhtä suuri kuin sen seinäkello aikaa. Käyttämällä säiettä aika antaa sinulle paremman käsityksen siitä, kuinka paljon säiettä todellinen suorittimen käyttö kuluttaa tietyn menetelmän tai toiminnon.
  7. suodatin: suodattaa tietoa funktion, menetelmän, luokan tai paketin nimen mukaan. Jos haluat esimerkiksi tunnistaa nopeasti tiettyyn puheluun liittyvät jäljitystiedot, kirjoita nimi hakukenttään. Flame chart-välilehdessä korostuvat puhelupinot, jotka sisältävät haun, paketin tai luokan, joka vastaa hakukyselyä. Ylhäältä alas ja alhaalta ylös-välilehdissä nämä puhelupinot priorisoidaan muihin jäljitystuloksiin nähden. Voit myös ottaa käyttöön seuraavat asetukset valitsemalla hakukentän viereisestä ruudusta:
    • Regex: jos haluat sisällyttää säännölliset lausekkeet hakuusi, käytä tätä asetusta.
    • Match case: jos haku on kirjainkokoinen, käytä tätä valintaa.

Vihje: kierteiden aikajanaa tarkastettaessa käytettävissä on seuraavat pikakuvakkeet:

  • Lähennä: paina W tai vieritä hiiren pyörää pitäen Ctrl-komentoa Macissa.
  • Loitonna: paina S tai vieritä hiiren pyörää taaksepäin pitäen Ctrl-komentoa Macissa.
  • Panoroi vasemmalle: Paina A tai raahaa hiirtä oikealle pitäen samalla välilyöntiä.
  • Pan right: paina D-näppäintä tai vedä hiirtä vasemmalle pitäen samalla välilyöntiä.
  • Laajenna tai pienennä säiettä: kaksoisnapsauta säiettä tai paina Enter, kun säiettä on valittu.

valitse tallennuskokoonpano

ennen kuin aloitat jäljitystietojen tallentamisen, valitse sopiva tallennuskonfiguraatio profilointitiedoille, jotka haluat tallentaa:

  • Sample Java-menetelmät: kaappaa sovelluksesi puhelupinon säännöllisin väliajoin sovelluksen Java-pohjaisen koodin suorittamisen aikana. Profiloija vertaa tallennettujen tietojen sarjoja määrittääkseen ajoitus-ja resurssinkäyttötiedot sovelluksesi Java-pohjaisesta koodin suorituksesta.

    otokseen perustuvan jäljityksen luontainen ongelma on se, että jos sovelluksesi siirtyy menetelmään puhelupinon kaappauksen jälkeen ja poistuu menetelmästä ennen seuraavaa kaappausta, profiloija ei kirjaa kyseistä menetelmäkutsua. Jos olet kiinnostunut jäljitysmenetelmistä, joilla on niin lyhyt elinkaari, käytä instrumentoitua jäljitystä.

  • Trace Java Methods: Instruments your app at runtime to record a timestamp at the beginning and end of each method call. Aikaleimoja kerätään ja verrataan menetelmän jäljitystietojen tuottamiseen, mukaan lukien ajoitustieto ja suorittimen käyttö.

    huomaa, että kunkin menetelmän instrumentointiin liittyvät yleiskustannukset vaikuttavat ajonaikaiseen suorituskykyyn ja saattavat vaikuttaa profilointitietoihin; tämä on vielä huomattavampaa menetelmissä, joiden elinkaari on suhteellisen lyhyt. Lisäksi, Jos sovelluksesi suorittaa suuren määrän menetelmiä lyhyessä ajassa, profiloija voi nopeasti ylittää tiedostokokorajoituksensa eikä välttämättä pysty tallentamaan muita jäljitystietoja.

  • Sample C / C++ – toiminnot: kaappaa samplattuja jälkiä sovelluksesi natiiviketjuista. Voit käyttää tätä määritystä, sinun täytyy ottaa sovellus laitteeseen Android 8.0 (API taso 26) tai uudempi.

    sisäisesti tämä kokoonpano käyttää simpleperf jäljittämään sovelluksen natiivikoodia. Jos haluat määrittää lisävalintoja simpleperf, kuten näytteenottokohtaiset laiteprosessorit tai määrittää näytteenottoajat suurella tarkkuudella, voit käyttää komentoriviltä simpleperf.

  • Trace System Calls: kaappaa Hienorakeiset yksityiskohdat, joiden avulla voit tarkistaa, miten sovelluksesi on vuorovaikutuksessa järjestelmän resurssien kanssa. Voit tarkastaa tarkat ajat ja kestot Oman säiettä valtioiden, visualisoida missä CPU pullonkaulat ovat kaikissa ytimet, ja lisätä mukautettuja jäljittää tapahtumia analysoida. Tällaiset tiedot voivat olla ratkaisevia, kun vianhaket suorituskykyyn liittyviä ongelmia. Voit käyttää tätä määritystä, sinun täytyy ottaa sovellus laitteeseen Android 7.0 (API taso 24) tai uudempi.

    kun käytät tätä jäljitysasetusta, voit merkitä tärkeät koodirutiinit visuaalisesti profiloijan aikajanalla instrumentoimalla koodiasi. Käytä C/C++ – koodin instrumenttiin trace.hnatiivia jäljitysrajapintaa. Instrumenttiin Java-koodi, käytä Trace Luokka. Lisätietoja, Katso Instrument app code.

    tämä jäljityskokoonpano rakentuu systrace. Voit käyttää systrace komentorivityökalua määrittääksesi suorittimen profiloinnissa annettuja vaihtoehtoja. systrace-järjestelmän lisätiedot voivat auttaa natiivien järjestelmäprosessien tarkastamisessa ja pudotettujen tai viivästyneiden kehysten vianmäärityksessä.

    laitteissa, joissa on Android 9 (API-taso 28) tai uudempi, voit käyttää Järjestelmäsovellusta nimeltä System Tracing tallentamaan järjestelmäjälkiä laitteessa.

Luo, Muokkaa tai tarkastele tallennusasetuksia

Luo, Muokkaa ja tarkastele tallennusasetuksia CPU RecordingConfigurations-valintaikkunassa, jonka avaat valitsemalla Muokkaa asetuksia TALLENNUSKOKOONPANOT-pudotusvalikosta CPU-profiloijan yläosassa.

Jos haluat tarkastella olemassa olevan tallennuskokoonpanon asetuksia, valitse se suorittimen Tallennuskokoonpanojen valintaikkunan vasemmanpuoleisesta ruudusta.

luodaksesi uuden äänityskokoonpanon, toimi seuraavasti:

  1. napsauta Add ikkunan vasemmassa yläreunassa. Tämä luo uuden kokoonpanon somedefault-asetuksilla.
  2. nimeä kokoonpanosi.
  3. valitse Jäljitystekniikka.
  4. näytteiden tallennuskonfiguraatioissa Näytteenottoväli määritetään mikrosekunteina (µs). Tämä arvo edustaa aikaa kunkin otoksen app ’ s call pino. Mitä lyhyempi aikaväli määrität, sitä nopeammin saavutat tallennettujen tietojen tiedostokokorajoituksen.
  5. määritä tiedoston kokorajoitus megatavuina (MB) tallennetulle datatatille, joka on kirjoitettu liitettyyn laitteeseen. Kun lopetat tallennuksen, AndroidStudio jäsentää nämä tiedot ja näyttää sen profiloija-ikkunassa. Niin, jos lisäätrajaa ja tallentaa suuren määrän tietoja, Android Studio kestää paljon kauemmin jäsentää tiedoston ja voi tulla reagoimaton.

    Huomautus: Jos käytät liitettyä laitetta, jossa on Android 8.0 (API-taso 26)tai uudempi, jäljitystietojen tiedostokokoa ei ole rajoitettu, ja tämä arvo jätetään huomiotta. Kuitenkin, sinun täytyy vielä olla varovainen, kuinka paljon datathe laite kerää jokaisen tallennuksen jälkeen—Android Studio voi olla vaikeaarsing suuria jäljitystiedostoja. Esimerkiksi, jos olet tallennus joko sampledtrace lyhyellä näytteenottovälillä tai instrumentoitu jäljittää, kun appcalls monia menetelmiä lyhyessä ajassa, voit luoda suuria jäljittää tiedostoja nopeasti.

  6. hyväksy muutokset ja jatka muutosten tekemistä muihin kokoonpanoihin valitsemalla Käytä. Jos haluat hyväksyä kaikki tehdyt muutokset ja sulkea ikkunan, klikkaa tästä.

Record CPU activity with the Debug API

you can use the Debug API to give your app the assability to start and stop the recording of CPU activity in the CPU Profiler.

suorittimen profiloija aloittaa tallennuksen,kun sovelluksesi kutsuustartMethodTracing(String tracePath), ja suorittimen profiloija lopettaa tallennuksen, kun sovelluksesi kutsuustopMethodTracing(). Kun tallennat tämän API: n avulla käynnistyvää suorittimen toimintaa, CPU-profiloija näyttää sdebug API: n aktiivisena suorittimen tallennusasetuksena.

Jos haluat hallita suorittimen toiminnan tallennusta

Debug

API, asenna instrumenttisovelluksesi laitteeseen, jossa on Android 8.0 (API-taso 26) tai uudempi.

tärkeää: Debug API on tarkoitettu käytettäväksi erillään muista tavoista käynnistää ja pysäyttää CPUactivity-tallennus, kuten CPU Profilerin graafisen käyttöliittymän painikkeet ja tallennusasetusten asetus automaattista tallennusta varten appstartupissa.

puskurin kokorajan 8 MB vuoksi startMethodTracing(String tracePath) menetelmä Debug API on suunniteltu lyhyille aikaväleille tai skenaarioille, joilla tallennus voidaan aloittaa / lopettaa manuaalisesti. Pidempiä aikoja tallennus, usethe profiler UI Android Studio.

lisätietoja, seeGenerate jäljittää lokit instrumentoimalla sovelluksen.

Tallenna suorittimen aktiivisuus sovelluksen käynnistyksen aikana

aloittaaksesi suorittimen aktiivisuuden tallentamisen automaattisesti sovelluksen käynnistyksen aikana, tee thefollowing:

  1. Select Run > Edit Configurations.
  2. valitse profilointi-välilehdessä seuraava ruutu, kun haluat aloittaa methodtracen kirjaamisen käynnistettäessä.
  3. valitse valikosta suorittimen tallennusasetukset.
  4. klikkaa Käytä.
  5. Ota sovellus käyttöön laitteelle, jossa on Android 8.0 (API-taso 26) tai uudempi valitsemalla Suorita > profiili.

vie jälkiä

kun olet tallentanut suorittimen toiminnan suorittimen profiloijalla, voit viedä tiedot ASA .trace tiedoston jaettavaksi muille tai tarkastettavaksi myöhemmin.

viedäksesi jäljitystiedoston suorittimen aikajanalta, toimi seuraavasti:

  1. Napsauta suorittimen aikajanassa hiiren kakkospainikkeella tallennetun menetelmän jäljitystä tai järjestelmän jäljitystä, jonka haluat viedä.
  2. valitse valikosta Vie jäljitys.
  3. Selaa, mihin haluat tallentaa tiedoston, määritä tiedostonimi ja klikkaa tästä.

viedäksesi jäljitystiedoston Istuntopaneelista, toimi seuraavasti:

  1. Napsauta Istuntopaneelissa hiiren kakkospainikkeella tallennettua jälkeä, jonka haluat viedä.
  2. Napsauta Export method trace-tai Export system trace-painiketta istunnon syötön korkeudella.
  3. Selaa, mihin haluat tallentaa tiedoston, määritä tiedostonimi ja klikkaa tästä.

tuo jälkiä

voit tuoda .trace tiedostoja, jotka on luotuDebug API-tai CPU-Profiloijalla.

tuo jäljitystiedostosi napsauttamalla Aloita uusi profilointisessio theprofiler ’ s Sessions-ruudussa ja valitsemalla sitten Load from file.

voit tarkastaa tuodun jäljen suorittimen Profiloijassa paljolti samalla tavalla kuin suoraan suorittimen Profiloijaan kaapatut jäljet, seuraavia poikkeuksia lukuun ottamatta:

  • suorittimen aktiivisuus ei ole edustettuna suorittimen aikajanalla (paitsi järjestelmän jäljityksessä).
  • Threads-osion aikajana ei näytä säikeiden tiloja, kuten juoksemista, odottamista tai nukkumista (paitsi järjestelmän jäljityksessä).

tarkasta jäljet

SUORITINPROFILORIN jälkinäkymä tarjoaa useita tapoja tarkastella tallennettuja jälkiä.

menetelmän jälkien ja funktion jälkien osalta voit tarkastella Kutsukarttaa suoraan kierteiden aikajanalla ja Liekkikaaviota, ylhäältä alas ja alhaalta ylös-välilehtiä Analyysiruudusta. Järjestelmän jälkiä, voit tarkastella jäljittää tapahtumia suoraan viestiketjujen aikajanalla, ja theFlame kaavio, ylhäältä alas, ja alhaalta ylös välilehdet alkaen Analysispane.

Hiiri-ja pikanäppäimet ovat käytettävissä Puhelukaavioiden tai Jäljitystapahtumien helppoon selaamiseen.

tutki jälkiä käyttämällä Kutsukaaviota

Kutsukaavio tarjoaa graafisen esityksen menetelmän jäljityksestä tai toiminnan jäljityksestä, jossa puhelun ajanjakso ja ajoitus esitetään horisontaalisella akselilla ja sen kutsut näkyvät pystyakselia pitkin. Järjestelmäliittymäpuhelut näytetään oranssina, puhelut sovelluksen omiin menetelmiin ingreeninä ja puhelut kolmannen osapuolen sovellusliittymiin (mukaan lukien Java-kielen sovellusliittymät) bluena. Kuvassa 4 on esimerkki puhelukaavio ja havainnollistaa käsite itsen aika, lasten aika, ja kokonaisaika tietyn menetelmän tai toiminnon. Voit oppia lisää näistä käsitteistä osiossa, miten jäljitteitä voidaan tarkastella ylhäältä alas ja alhaalta ylös.

kuva 4. Esimerkkikutsukaavio, joka havainnollistaa itse, lapset ja kokonaisajan menetelmälle D.

Vihje: Jos haluat hypätä menetelmän tai toiminnon lähdekoodiin, napsauta sitä hiiren kakkospainikkeella ja valitse Siirry lähdekoodiin. Tämä toimii mistä tahansa Analyysiruutu-välilehdestä.

tutki jälkiä käyttämällä Liekkikartta-välilehteä

Liekkikartta-välilehdessä on käänteinen kutsukartta, joka aggregoi sidentiset kutsupinot. Toisin sanoen samoja menetelmiä tai toimintoja, jotka jakaasamainen soittajajoukko kerätään ja esitetään yhtenä pidempänä palkkina liekeissä (sen sijaan, että ne näytettäisiin useina lyhyempinä palkeina, kuten ACall-kaaviossa esitetään). Näin on helpompi nähdä, mitkä menetelmät tai toiminnot kuluttavat eniten aikaa. Tämä tarkoittaa kuitenkin myös sitä, että vaaka-akseli ei edusta atimelinea, vaan se ilmaisee kunkin menetelmän tai toiminnon suorittamisen suhteellisen ajan.

tämän käsitteen havainnollistamiseksi tarkastellaan kuvassa 5 olevaa kutsukaaviota. Huomaa, että menetelmä D soittaa useita puheluita B: hen (B1, B2 ja B3), ja jotkut näistä puheluista B: hen soittavat puhelun C: hen (C1 ja C3).

kuva 5. Puhelukaavio, jossa on useita menetelmäpuheluja, joilla on yhteinen soittajajoukko.

koska B1: llä, B2: lla ja B3: lla on sama soittajajärjestys (A → D → B) ne lasketaan yhteen, kuten kuvassa 6 esitetään. Vastaavasti C1 ja C3 aggregoidaan, koska niillä on sama soittajajoukko (A → D → B → C); huomaa, että C2 ei ole mukana, koska sillä on erilainen soittajajoukko (A → D → C).

kuva 6. Yhdistetään samanlaisia menetelmiä, joilla on sama puhelupino.

koottuja kutsuja käytetään liekkikartan luomiseen, kuten kuvassa 7 on esitetty.Huomaa, että liekkikaavion puhelussa soittimet, jotka kuluttavat eniten suoritinaikaa, näkyvät ensin.

kuva 7. Liekkikartan esitys kuvassa 5 esitetystä callchartista.

tutki jälkiä käyttämällä ylhäältä alas ja alhaalta ylös

ylhäältä alas-välilehti näyttää listan kutsuista, joissa menetelmän tai toiminnon solmun laajentaminen näyttää sen kutsut. Kuva 8 näyttää ylhäältä alaspäin kuvaajan callchart kuvassa 4. Jokainen nuoli osoittaa soittajasta soittajalle.

kuten kuvassa 8 on esitetty, metodin a solmun laajentaminen ylhäältä alas-välilehdessä näyttää sen callees, menetelmät B ja D. Tämän jälkeen methodd: n solmun laajentaminen paljastaa sen callees, menetelmät B ja C ja niin edelleen. Kuten Flame chartab, top down tree aggregates jäljittää tietoja identtisiä menetelmiä, jotka jakavat saman puhelun pino. Toisin sanoen liekki kaavio välilehti tarjoaa graafisen edustus ylhäältä alas välilehti.

Ylälehdestä löytyvät seuraavat tiedot, joiden avulla voidaan kuvailla kuhunkin puheluun käytettyä aikaa (ajat esitetään myös prosentteina lukuajan kokonaisajasta valitulla alueella):

  • itse: aika, jonka menetelmä tai funktiokutsu käytti oman koodinsa toteuttamiseen, ei sen kutsujaksojen, kuten kuviossa 4 on esitetty menetelmän d osalta.
  • lapset: aika, jonka menetelmä tai funktiokutsu käytti omien koodiensa suorittamiseen, eikä oma koodi, kuten kuviossa 4 menetelmän osalta.
  • lapset: aika, jonka menetelmä tai funktiokutsu käytti omien koodiensa suorittamiseen, eikä oma koodi, kuten kuviossa 4 menetelmän osalta. D.
  • yhteensä: metodin itsensä ja lasten ajan summa. Tämä kuvaa kokonaisaikaa, jonka sovellus käytti puhelun suorittamiseen, kuten kuvituksena infigure 4 menetelmälle D.

kuva 8. Latvapuu.

kuva 9. Alhaalta ylöspäin oleva puu menetelmälle C kuvasta 8.

alhaalta ylös-välilehti näyttää listan kutsuista, joissa funktion tai Methodin solmun laajentaminen näyttää soittajansa. Kuvassa 8 esitetyn esimerkkijäljen avulla kuvassa 9 esitetään alhaalta ylös-puu menetelmälle C. Solmun avaaminen menetelmälle Cin alhaalta ylös puu näyttää jokaisen sen ainutlaatuisen soittajat, menetelmät B ja D. huomaa, että vaikka B kutsuu C kahdesti, B näkyy vain kerran, kun solmu formethod C alhaalta ylös puu. Sen jälkeen, laajentaa solmu B displaysits soittaja, menetelmät A ja D.

alhaalta ylös-välilehti on hyödyllinen lajittelu menetelmiä tai toimintoja, jotka kuluttavat eniten (tai vähiten) suorittimen aikaa. Voit tarkastaa jokaisen solmun määrittääksesi, mitkä soittajat käyttävät eniten CPU-aikaa vetoamalla näihin menetelmiin tai toimintoihin.Verrattuna ylhäältä alas puu, ajoitus info kunkin menetelmän tai toiminnon abottom up puu on viittaus menetelmän yläosassa kunkin puun (top solmu).SUORITINAIKA esitetään myös prosentteina langan kokonaisajasta that-tallennuksen aikana. Seuraava taulukko auttaa selittämään, miten tulkitaan aikatietoja yläsolmulle ja sen soittajille (alisolmut).

Self lapset
menetelmä tai funktio alhaalta ylös-puun (yläsolmun) yläosassa kuvaa kokonaisaikaa, jonka menetelmä tai funktio on käyttänyt oman koodinsa toteuttamiseen, ei sen calleesin. Verrattuna ylhäältä alas puu, tämä ajoitustieto on summa kaikki puhelut tähän menetelmään tai toiminto aikana tallennuksen. kuvaa kokonaisaikaa, jonka menetelmä tai funktio on käyttänyt calleesin toteuttamiseen, eikä omaa koodia. Verrattuna alkuun alas puu, tämä ajoitustieto edustaa kaikkien kutsujen tähän menetelmään tai funktion callees aikana tallennuksen. itsen ajan ja lasten ajan summa.
soittajat (alisolmut) kuvaa soittajan itsensä kokonaisaikaa, kun soittaja soittaa hänelle. Käyttämällä kuvassa 9 olevaa alhaalta ylös-puuta esimerkkinä menetelmän B oma aika olisi sama kuin kunkin menetelmän C toteutuksen itseaikojen summa, kun B kutsuu. edustaa soittajan kutsuman soittajan lasten kokonaisaikaa. Käyttämällä kuvan 9 alapuuta esimerkkinä, menetelmän B lasten aika olisi yhtä suuri kuin kunkin menetelmän C toteutuksen lasten kellonaikojen summa, kun sitä kutsutaan B: llä. itsen ajan ja lasten ajan summa.

Huom.: Tietyn tallennuksen, Android Studio pysähtyy kerätä uusia tietoja, kun profiloija saavuttaa tiedoston kokorajoitus (kuitenkin, tämä ei Lopeta nauhoitus). Tämä tapahtuu yleensä paljon nopeammin, kun suoritatinstrumenttijälkiä, koska tämäntyyppinen jäljitys kerää enemmän tietoja lyhyemmässä ajassa verrattuna otokseen jäljitykseen. Jos tarkastusaikaa pidennetään raja-arvon saavuttamisen jälkeen tapahtuneeseen tallennukseen, seurantaruudun ajoitustiedot eivät muutu (koska uusia tietoja ei ole saatavilla). Lisäksi, jäljityspaneeli näyttää NaN ajoitustiedot, kun valitset vain osan tallennuksen, joka ei ole tietoja saatavilla.

tarkasta järjestelmän jäljet

kun tarkastat järjestelmän jäljen, voit tutkia Jälkitapahtumia theThreads-aikajanalla ja tarkastella kunkin säikeen tapahtumien yksityiskohtia.Vie hiiren osoitin tapahtuman päälle nähdäksesi tapahtuman nimen ja kussakin tilassa vietetyn ajan. Napsauta tapahtumaa nähdäksesi lisätietoja analyysiruudussa.

SUORITINYDINPANEELI (kuten kuvassa 10 esitetään) näyttää säieaktiivisuuden ajoituksen jokaiselle ytimelle. Viet hiiren osoitinta säiettä aktiviteetin nähdä, mitä tämä ydin on käynnissä kyseisenä ajankohtana.

kuva 10. RENDERÖINTIKIERTEEN suorittimen aktiivisuuden ja tapahtumien jäljittämisen katselu.

lisätietoja järjestelmän jäljitystietojen tarkastamisesta on systrace dokumentaatio-osiossa käyttöliittymän suorituskyvyn ongelmien tutkiminen.

tarkasta kehysten renderöintitiedot

voit tarkastaa, kuinka kauan sovellukseltasi kestää renderöidä kutakin kehystä mainthreadilla ja RenderThread tutkia pullonkauloja, jotka aiheuttavat KÄYTTÖLIITTYMÄVIKAA ja matalia reunoja.

nähdäksesi frame-renderöintitiedot,Tallenna jälki käyttäen akonfiguraatiota, jonka avulla voit jäljittää järjestelmäkutsuja. Tallennuksen jälkeen, etsiä tietoja jokaisesta kehyksestä alla kehysten aikajananäyttö-osassa, kuten kuvassa 11.

kuva 11. Jokainen kehys, joka kestää kauemmin kuin 16msis näkyy punaisella.

Vastaa

Sähköpostiosoitettasi ei julkaista.