Soittimet, osa XCODE: ta, on ensisijaisesti suunniteltu iOS-, macOS-, watchO- ja TVOS -sovelluksille. Vaikka näillä alustoilla on uskomattoman tehokas muistivuotojen havaitsemiseksi käyttämällä työkaluja, kuten vuotojen instrumentti ja muistikaavion virheenkorjaus, sen suora sovellus MVVMCross -sovelluksiin on rajoitettu. MVVMCROSS on alustojen välinen kehys, joka mahdollistaa useiden alustojen, mukaan lukien Android ja iOS, kehittäminen.
Jos kuitenkin kehität MVVMCross-sovellusta iOS: lle, voit käyttää instrumentteja muistivuotojen seuraamiseen reaaliajassa sovelluksesi iOS-osaan. Tässä: miten:
IOS MVVMCROSS -sovellusten instrumenttien avulla
1. Käynnistä instrumentit: Aloita avaamalla projekti Xcode -sovelluksessa ja valitsemalla tuote> Profiili. Tämä käynnistää instrumentit.
2. Valitse vuotomalli: Valitse mallivalintaikkunasta vuotojen malli muisti -osiossa. Tämä malli on suunniteltu erityisesti muistivuotojen havaitsemiseksi.
3. Suorita sovelluksesi: napsauta Tietue -painiketta aloittaaksesi sovelluksen profiloinnin. Ole vuorovaikutuksessa sovelluksesi kanssa, kuten normaalisti, keskittyen erityisesti alueisiin, joilla epäilet muistivuotoja.
4. Analysoi tulokset: Kun olet suorittanut vuorovaikutuksen, lopeta tallennus. Instrumentit näyttävät kuvaajan, joka näyttää muistin käytön ajan myötä. Jos muistivuotoja on, näet muistin käytön nousun ilman vastaavia vähentyviä, kun esineitä tulisi käsitellä. Kaavion alla löydät luettelon vuotaneista muistilohkoista sekä pinojälkiä, jotka osoittavat, missä vuodot jaettiin.
5. Tunnista ja kiinnitä vuodot: Pinoa koodisi vuotojen lähde paikantaa pinojälkiä. Yleisiä kysymyksiä ovat säilytysjaksot, joissa objekteilla on vahvat viittaukset toisiinsa, estäen kaupankäyntiä. Näiden kiinnittämiseen sisältyy säilytysjaksojen rikkominen, usein käyttämällä heikkoja tai omistamattomia viitteitä.
Muiden kuin IIS-alustojen rajoitukset
MVVMCross -sovelluksille, jotka kohdistuvat muihin kuin iOS: iin (kuten Android), instrumentteja ei voida käyttää suoraan. Sen sijaan sinun on käytettävä alustakohtaisia työkaluja muistivuotojen havaitsemiseen:
- Android: Käytä työkaluja, kuten Android Studion muistiprofiilia tai kolmansien osapuolien kirjastoja, kuten LeakCanary.
- Muut alustat: Hyödynnä alustakohtaisia muistin profilointityökaluja tai kirjastoja.
Yhteenvetona voidaan todeta, että vaikka instrumentit ovat erittäin tehokkaita muistivuotojen havaitsemiseksi iOS-sovelluksissa, mukaan lukien iOS: n MVVMCrossin kanssa rakennettuja, sitä ei voida soveltaa muihin kuin II-alustoihin. Alustojen välistä kehitystä varten sinun on käytettävä kunkin kohdealustan erityisiä työkaluja.
Viittaukset:.
[2] https://www.reddit.com/r/rust/comments/kpsgin/how_to_find_a_memory_leak_in_a_rust_program/
.
[4] https://www.kodeco.com/books/swiftui-cookbook/v1.0/chapters/9-finding-memory-leaks-using-instruments
.
[6] https://forums.ni.com/t5/labview/get-object-memory-leak/td-p/4276905
[7] https://forums.developer.apple.com/forums/thread/770061
[8] https://github.com/mvvmcross/mvvmcross/issues/2884