Mälulekke tuvastamiseks MVVMCrossi rakendustes, kasutades mälugraafi tööriista, võite järgida neid samme, mis on üldiselt rakendatavad iOS -i arendamisel Xcode'iga. Kuigi MVVMCROSS on platvormideülene raamistik, on mälugraafik tööriist spetsiifiline iOS-i arendamisel Xcode'is.
Mälugraafiku siluri kasutamine
1. Käivitage oma rakendus mälugraafiku siluriga: **
- Avage oma projekt Xcode'is ja veenduge, et olete silumisrežiimis.
- Minge silumismenüüsse ja valige silumismälu graafik. See käivitab teie rakenduse, kui mälugraafik siluja on lubatud.
2. joosta läbi põhivoogude: **
- Navigeerige oma rakenduse põhivoogud, näiteks vaatekontrollerite avamine ja sulgemine, toimingute tegemine, mis hõlmavad andmete sidumist, ja muid kriitilisi teid, mis võivad hõlmata mälu jaotamist.
- Korrake neid vooge mitu korda, et näha, kas mälu kasutamine suureneb ootamatult.
3. tehke mälu hetktõmmised: **
- Pärast nende voogude läbimist tehke mälu hetktõmmis, klõpsates uuesti silumismälu graafiku nuppu. See peatab teie rakenduse ja annab ülevaate praegusest mälu olekust.
4. Kontrollige mälu hetktõmmiseid: **
- Mälugraafiku silujas näete mälus olevate objektide graafilist esitust sõlmedena, nende vahel servadena.
- Otsige objekte, mis ei tohiks enam mällu jääda. Näiteks kui näete vaatekontrolleri või vaatemudeli mitut juhtumit, mida oleks tulnud lahendada, võib see osutada mälulekkele.
5. Tuvastage lekkinud objektid: **
- Klõpsake sõlme, mis tähistab objekti, mis ei tohiks mälus olla. Silur näitab teile kõiki viiteid sellele objektile, aidates teil kindlaks teha, miks seda säilitatakse.
- Kasutage objekti graafikut, et jälgida vanemsõlme või objekti, mis hoiab lekkinud objekti mälus.
6. fikseerige leke: **
- Kui olete lekke allika tuvastanud, vaadake oma kood üle, et leida, kus tugevaid viiteid korraldatakse. Levinumad probleemid hõlmavad järgmist:
- avaldamata ürituste käitlejad.
- Tugevad viited vaadetele vaadetele või muudele objektidele, mis peaksid olema nõrgad.
- säilitage tsüklid andmete sidumisel.
7. Kontrollige parandusi: **
- Pärast võimalike lekete parandamiseks muudatuste tegemist korrake tuumavoogude läbimise ja mälu hetktõmmiste tegemise protsessi, et tagada mälu kasutamine ootamatult.
Täiendavad tööriistad platvormidevaheliseks arendamiseks
Kuigi mälugraafik tööriist on spetsiifiline iOS-i jaoks platvormidevaheliste raamistike nagu MVVMCROSS, peate võib-olla kasutama ka platvormipõhiseid tööriistu teiste platvormide jaoks:
- Android: mälu lekete tuvastamiseks kasutage Androidi profilerit või LeakCanaryt.
- Windows (MAUI): kasutage mälulekke tuvastamiseks selliseid tööriistu nagu Visual Studio diagnostilised tööriistad või kolmandate osapoolte teegid, näiteks mälutoolkit.maui.
Neid lähenemisviise ühendades saate MVVMCrossi rakendustes erinevatel platvormidel tõhusalt tuvastada ja parandada mälulekkeid.
Tsitaadid:]
]
[3] https://careersatdoorash.com/blog/ios-memory-bleaks-and-retein-cycle-detection-using-xcodes-memory-graph-debugger/
]
]
[6] https://developer.android.com/studio/profile/memory-profiler
[7] https://github.com/dotnet/maui/wiki/memory-bers
[8] https://forums.developer.apple.com/forums/thread/713062
[9] https://www.tothenew.com/blog/memory-leak-with-memory-graph-debugger/