Teknologian jakaminen

Kuinka paljon muistia iOS-sovellus ylittää ennen kuin se saa järjestelmämuistivaroituksen?

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Kuinka paljon muistia iOS-sovellus ylittää ennen kuin se saa järjestelmämuistivaroituksen?

iOS-sovelluksissa järjestelmän muistin varoitusten laukaisu määräytyy dynaamisesti iOS-käyttöjärjestelmän toimesta, eikä se ole kiinteä kynnys. Järjestelmä määrittää, annetaanko muistivaroitus nykyisen laitteen vapaan muistin, muiden käynnissä olevien sovellusten muistivaatimusten ja nykyisen sovelluksen muistin käytön perusteella.

Muistin varoitus laukaisee

  1. Laitteen muistin konfigurointi: Eri laitteissa on eri määrä muistia, esimerkiksi vanhemmissa laitteissa voi olla vain 1 Gt muistia, kun taas uudemmissa laitteissa voi olla 4 Gt tai enemmän.
  2. Järjestelmän muistin paine: Jos järjestelmässäsi on korkea muistipaine, muistivaroituksia voidaan antaa useammin.
  3. Sovellusmuistin käyttö: Jos sovellus vie paljon muistia, järjestelmä antaa todennäköisemmin muistivaroituksen, jotta sovellus voi vapauttaa tarpeetonta muistia.

Muistin varoitustaso

iOS tarjoaa kolme muistin varoitustasoa, kehittäjät voivat UIApplicationDelegate toteutunut läpiapplicationDidReceiveMemoryWarning Menetelmä muistin varoitusten käsittelemiseksi.

func applicationDidReceiveMemoryWarning(_ application: UIApplication) {
    // 释放不必要的资源
}

Näkymäohjaimet voidaan myös ohittaa didReceiveMemoryWarning Menetelmä muistin varoitusten käsittelemiseksi.

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // 释放不必要的资源
    imageCache.removeAllObjects()
}

Tietty muistin varoituksen laukaisuarvo

Vaikka iOS ei paljasta tarkkaa muistin varoituksen laukaisuarvoa, se voidaan arvioida tarkkailemalla eri laitteiden muistin käyttöä:

  • Halvat laitteet (kuten iPhone 6 ja 6s): Yleensä kun muistin käyttö on lähellä 500 Mt, muistin varoitus saattaa laueta.
  • Keskitason laitteet (kuten iPhone 7 ja 8): Muistivaroitus saattaa laueta, kun muistin käyttö lähenee 1 Gt.
  • Huippuluokan laitteet (kuten iPhone X ja uudemmat): Muistivaroitus saattaa laukaista, kun muistin käyttö ylittää 1,5 Gt.

Kuinka käsitellä muistivaroituksia

  1. Vapauta tarpeettomat resurssit: Kun vastaanotat muistivaroituksen, vapauta muistia, jota ei enää tarvita, kuten välimuistissa olevat kuvat, väliaikaiset tiedot jne.
  2. Viivästynyt lataus ja laiska lataus: Viive ja laiska latausresurssit niin paljon kuin mahdollista vähentääksesi alkumuistin käyttöä.
  3. Optimoi tietorakenteet ja algoritmit: Valitse sopivat tietorakenteet ja optimointialgoritmit muistin käytön vähentämiseksi.
  4. Instruments-työkalun käyttäminen: Käytä Instruments-työkalua säännöllisesti muistinkäytön havaitsemiseen ja analysoimiseen muistivuotojen ja liiallisen muistin käytön tunnistamiseksi ja ratkaisemiseksi.

Käsittelemällä muistin varoituksia oikein ja optimoimalla muistin käyttöä voidaan parantaa merkittävästi sovellusten suorituskykyä ja vakautta sekä vähentää muistin riittämättömyyden aiheuttamia kaatumisia ja jumiutumia.


Kuinka paljon muistia on kohtuullista iOS-sovelluksille?

iOS-sovelluksen kohtuullinen muistin käyttö riippuu monista tekijöistä, kuten laitteen laitteistokokoonpanosta, sovelluksen toiminnallisesta monimutkaisuudesta ja käyttöympäristöstä.

1. Laitteen laitteistokokoonpano

  • halvemmat laitteet : Laitteet, joissa on vähemmän muistia (1 Gt tai vähemmän), ovat herkkiä muistin käytölle. Erityistä huomiota on kiinnitettävä muistin optimointiin.
  • keskitason laite: Laitteissa, joissa on keskimääräinen muisti (2 Gt - 3 Gt), sovellukset voivat lisätä muistin käyttöä asianmukaisesti, mutta sitä on silti ohjattava kohtuullisella alueella.
  • Huippuluokan laitteet: Laitteissa, joissa on suurempi muisti (4 Gt ja enemmän), sovellukset voivat käyttää enemmän muistia, mutta liiallinen muistin käyttö voi silti vaikuttaa järjestelmän suorituskykyyn.

2. Sovellustyypit ja toiminnot

  • Yksinkertainen sovellus: Esimerkiksi työkalusovellukset, uutistenlukijat jne. yrittävät yleensä pitää muistin käytön alle 100 megatavua.
  • Keskikokoiset sovellukset: Kuten sosiaalisen median sovellukset, kevyet pelit jne., muistin käyttöä tulisi hallita välillä 200 Mt - 500 Mt.
  • Monimutkaiset sovellukset: Kuten suuret pelit, grafiikkaa vaativat sovellukset jne., muistin käyttö voi olla 500 Mt tai enemmän, mutta sinun tulee yrittää välttää yli 1 Gt.

3. Muistin käytön seuranta

Käytä Xcode's Instruments -työkalua seurataksesi sovelluksesi muistin käyttöä, mukaan lukien varaukset ja vuodot -mallit. Varmista, että sovelluksen muistin käyttö on vakaata normaalikäytössä ja ettei siinä ole selviä muistivuotoja.

4. Käytä asianmukaisia ​​muistin käyttömittareita

4.1 Pysyvä muisti

Residenttimuisti on sovelluksen todellisuudessa käyttämä fyysinen muisti, jota voidaan valvoa Instrumenttien Allokaatiot-mallin kautta.

4.2 Virtuaalinen muisti

Virtuaalimuisti on kokonaismuisti, jota sovellus voi käyttää, mukaan lukien muistinvaihtoalue. Virtuaalimuistin käyttö on tyypillisesti korkeampaa kuin pysyvän muistin käyttö.

yhteenveto

Asianmukainen muistitilanne riippuu tietystä sovellustyypistä, toiminnan monimutkaisuudesta ja kohdelaitteesta. Yleisesti ottaen, sinun tulee yrittää pitää muistin käyttö kohtuullisella alueella ja välttää laitteen käytettävissä olevan muistin rajan ylittämistä. Muistin optimointikäytäntöjen, asianmukaisten tietorakenteiden, kuvankäsittelyn ja koodin suorituskyvyn optimoinnin avulla voit tehokkaasti vähentää muistin käyttöä ja parantaa sovellusten suorituskykyä ja vakautta. Käytä Instruments-työkalua säännöllisesti muistin käytön seuraamiseen ja analysointiin varmistaaksesi, että sovelluksen muistin käyttö on kohtuullinen eri skenaarioissa.