Mobiele apparaten

Hoe te detecteren Androïde geheugenlekken

Een van de meest verschrikkelijke veiligheid vervalt in Android is geheugenlek. Ze zijn schadelijke omdat een stukje code de toepassingen vastlopen kan of kwesties kan maken. Lekken van het geheugen kunnen optreden als gevolg van opslag in hoop maken en niet om het te verwijderen. Het is een ernstig probleem voor toepassingen en het wordt veroorzaakt door een pointer die niet in de lus doet krijgen geretourneerd.

Geheugenfouten kunnen worden onderverdeeld in twee typen: uit geheugen en het geheugen lekken. Onvoldoende geheugen probeert die toe te wijzen meer geheugen dat de toepassing van de heap. De lekkage is moeilijk te vinden. Tijdens het ontvangen van het crashrapport, kunt u identificeren van de lekkage in de app. Bovendien kunnen applicatie crasht als gevolg van diverse problemen optreden. Vandaar dat vinden van het lek is het moeilijkste deel in de ontwikkeling. De lekkage optreedt als gevolg van bedrijf een object voor een lange periode zelfs nadat het doel ervan is afgerond. Meestal verzamelt de garbage collector alle dode of ongebruikte objecten, die niet alle links naar hen. Als de programma's de objecten houden, zal vervolgens de garbage collector niet zitten kundig voor het schoon te maken.

Veel tools zijn beschikbaar voor het testen van de lekken, eclipse geheugen analyzer, Mat plugin, hulpmiddel traceview van android SDK en Valgrind. Android SDK biedt twee belangrijke manieren om schets van het geheugengebruik van de app. toewijzing tracker en heap stortplaatsen zijn twee belangrijke manieren. Toewijzing tracker is nuttig voor de ontwikkelaars om erachter te komen het geheugengebruik van de app in een bepaalde periode. Het voorziet echter niet in de algehele status van de toepassing van de berg.

Heap stortplaatsen zijn de indrukwekkende tool voor cache analyse en het is net als het beeld van app de hoop. Elke ontwikkelaar staat voor een uitdaging in het analyseren en begrip van het gebruik van de RAM in de app en optimaliseren van het. Na het loslaten van de niet-gebruikte objecten uit de toepassing, kan de toepassing handhaven meer opslagruimten dan vereist.

Eclipse Memory analyzer (MAT) is het beste instrument om te analyseren de opslag gebruik van toepassingen. Dit hulpprogramma is handig voor het bijhouden van lekken in het geheugen en als biedt een kans om te analyseren de toepassing met een regelmatig interval. MAT biedt een momentopname van de opslageenheid zede voor een bepaalde periode. Vergeet niet, MAT geeft niet de reden voor het maken van object of het niet laten zien van de objecten die de garbage collector heeft verzameld. U kunt echter, ontdek de lekkage onmiddellijk en zoeken naar manieren om het te stoppen.

DDMS hulpmiddel wordt gebruikt voor het detecteren van toewijzing van opslagruimte en dit zal beschikbaar in Android SDK map. Dit instrument zal ook de lekkage in Androïde toepassing weergeven. Bovendien, het toont de informatie over de objecten die geen afval verzameld en de gegevensopslag bezet door de objecten. Als u een koppeling in het kader plaatst, zal leiden tot veel opslag en het heet als kader verwante memory leak lek. Dit kan op twee manieren worden vermeden. Eerste oplossing hiervoor is om te voorkomen dat de context buiten de app grens het vrijgeven. Een andere oplossing, door dit met behulp van de context van toepassing is, de context blijft, zolang de toepassing woont.