how fix memory leak android apps using ddms tool
Kako preizkusiti in odpraviti puščanje pomnilnika za aplikacije za Android:
Optimizacija pomnilnika je večji izziv za vsakega razvijalca, preden aplikacijo potisne v trgovino za predvajanje.
najboljši brezplačni DVD ripper za šifrirane DVD-je
Učinkovitost aplikacije je enako pomembna kot njena funkcionalnost. Ta članek temelji na Analiza kupa aplikacije prek DDMS (Dalvik Debug Monitor Service).
Večina aplikacij Android deluje na JAVA in ima tudi težave z navoji.
Pomembna opomba - Orodje Dalvik Debug Monitor Server (DDMS) je na voljo samo v Android Studio 3.0 in starejših različicah. Če uporabljate Studio 3.0 ali novejšo različico, ne pozabite uporabiti Android Profilerja za profil CPU-ja, pomnilnika in omrežja v aplikaciji.
Ta vadnica vam bo pomagala razumeti in optimizirati uhajanje pomnilnika za aplikacijo Android z orodjem DDMS. Analiza pomnilnika bo dala idejo o pomnilniku in optimizacija pomnilniških vrednosti bo tako povzročila manj puščanja pomnilnika.
Kaj se boste naučili:
- Pogosto uporabljeni izrazi
- DDMS (Dalvik strežnik za odpravljanje napak)
- Koraki za zagon DDMS prek ADT
- Koraki za zagon DDMS prek Android Studio
- Zaključek
- Priporočeno branje
Pogosto uporabljeni izrazi
Spodaj je navedenih nekaj pogostih izrazov, ki jih bomo uporabili v tem projektu:
- Kup - To je runtime pomnilnik, ki je na voljo za dodelitev in se distribuira dinamično. Odvisno je od platforme.
- Dalvik kup - Dalvik kup je kombinacija razredov in podatkov zigote.
- Žigota - Zygote pomaga zagnati procese aplikacij, ko se sistem naloži.
- PSS - To je število strani v pomnilniku za postopek in se meri v KB.
- Zbiranje odpadkov - Odvoz smeti izsledi vse predmete, ki se še uporabljajo, in označi ostalo kot Garbage.
DDMS (Dalvik strežnik za odpravljanje napak)
To je orodje, ki pomaga analizirati spremljanje izvajanja delovanja. Pomaga tudi pri profiliranju in nastavljanju aplikacij.
Ponudba glavnih storitev DDMS
- Skupna statistika dodeljevanja predmetov kopice
- Statika niti aplikacije
- Naprava Zajem zaslona
- Raziskovalec datotek naprave
- Pregled dohodnega klica in SMS
- Pregled podatkov o lokaciji
- Omrežna statična konzola
- Logcat (podrobno, odpravljanje napak, uveljavljanje, napaka)
Puščanje pomnilnika:
Aplikacija ima predmet dolgo časa, tudi po izpolnitvi namena, in ga GC ne zbira.
Zaznavanje puščanja spomina:
Aplikacija Android običajno prikaže pogovorno okno za aplikacijo, ki se ne odziva ali v najslabšem primeru zaradi izjeme iz pomnilnika. Vsaka naprava ima omejeno velikost kopice in ko aplikacija skuša pridobiti dodaten pomnilnik, so opažene izjeme.
Za preverjanje skupne velikosti kopice naprave Android lahko uporabimo spodnje ukaze:
- mačka / proc / meminfo | grep MemTotal
- adb –d pull /system/build.prop
Koraki za zagon DDMS prek ADT
Korak 1: Zaženite paket adt (lahko dostopen tukaj ) Ali pa namestite ADT sveženj za konfiguracijo sistema Windows s pomočjo spodnjih povezav.
Windows 32: https://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip
Windows 64: https://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip
2. korak: Kliknite SDK
3. korak: Kliknite orodja
4. korak: Kliknite monitor.bat (DDMS)
Opomba: Za analizo kopice je potreben apk za odpravljanje napak.
Po uspešni namestitvi svežnja ADT pojdite v ukazni poziv (nastavite pot, če adb ni prepoznan kot notranji ali zunanji ukaz).
Preverite, ali je naprava povezana s sistemom prek ukaza adb (naprave adb). Ko je naprava povezana, je povezana z zaslonom DDMS z imenom paketa aplikacije.
Koraki za zagon DDMS prek Android Studio
Studio -> Orodja -> Android -> Monitor naprave Android -> V meniju kliknite gumb DDMS.
Koraki do analize kupa
- Izberite ime paketa aplikacije, ki se prikaže na zaslonu DDMS.
- Izberite ikono kopice posodobitev.
- Dotaknite se vzroka GC, preden vzamete vrednosti za vsako dejanje.
- Zdaj v ukaznem pozivu zaženite ukaz - lupina adb dumpsys meminfo in pritisnite enter.
- Vrednosti bodo prikazane v ukaznem pozivu.
- PSS skupaj, domači, dalvik, velikost kopice, brez kopice, dodeljena kopica so vrednosti, ki bodo razvijalcem pomagale odpraviti napake v pomnilniku.
- Boljša predstavitev podatkov bo razvijalcu olajšala delo.
- Podatki naj bodo takšni:
- Vrednost predmetov po kliku na vzrok GC.
- PSS skupaj
- Native heap - velikost kupa
- Dalvik kup - velikost kupa
- Skupna velikost kupa
- Native heap - kup aloc
- Dalvik kup - kup aloc
- Skupna dodelitev kopice
- Domača kopica - brez kopice
- Dalvik kup - kup brez
- Skupaj kup brez
- Predmeti (po kliku na vzrok GC iz DDMS)
- % uporabljeno% brezplačno
Idealno testiranje: Za boljšo analizo aplikacije poskusite izvesti različne scenarije, tako da aplikacijo zadržite v ozadju, in tako, da pristanete na isti strani, izvedite celoten tok teh pogosto uporabljenih scenarijev.
Poskusite uporabiti naprave nižjega cenovnega razreda, saj je najpogostejša zrušitev opazna zaradi izjema pomnilnika (OOM).
Zaslon DDMS
Vzorci Dalvikovih vrednot
Zaključek
Ta članek lahko uporabimo za testiranje analize kopice z orodjem DDMS. Pravilne vrednosti parametrov bodo razvijalcem Androida pomagale optimizirati pomnilnik.
Poznavanje orodij za testiranje je dobro, toda učinkovita uporaba teh orodij se šteje za umetnost.
Srečno učenje !!
Priporočeno branje
- Appium Vadnica za testiranje mobilnih aplikacij za Android in iOS
- 20 najboljših orodij za odkrivanje uhajanja pomnilnika za Javo, C ++ v Linuxu in Windows
- Kako avtomatizirati aplikacije za Android z orodjem TestComplete
- Uvod v Robotium - najbolj priljubljeno orodje za testiranje uporabniškega vmesnika za Android
- 10 najboljših aplikacij za upravljanje projektov v letu 2021 za naprave Android in iOS
- Vadnica za testiranje mobilnega uporabniškega vmesnika (testiranje uporabniškega vmesnika za iOS in Android)
- Ustvarite teste Appium za aplikacijo za Android
- 10 NAJBOLJŠIH aplikacij za sledenje času za svobodnjake (2021 SELECTIVE)