Condivisione della tecnologia

Quanta memoria supera un'app iOS prima di ricevere un avviso sulla memoria di sistema?

2024-07-08

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

Quanta memoria supera un'app iOS prima di ricevere un avviso sulla memoria di sistema?

Nelle applicazioni iOS l'attivazione degli avvisi sulla memoria di sistema è determinata dinamicamente dal sistema operativo iOS e non è una soglia fissa. Il sistema determina se emettere un avviso di memoria in base alla memoria disponibile del dispositivo corrente, ai requisiti di memoria di altre applicazioni in esecuzione e all'utilizzo della memoria dell'applicazione corrente.

Si attiva l'avviso di memoria

  1. Configurazione della memoria del dispositivo: dispositivi diversi hanno quantità di memoria diverse, ad esempio i dispositivi più vecchi potrebbero avere solo 1 GB di memoria, mentre i dispositivi più recenti potrebbero avere 4 GB o più.
  2. Pressione della memoria del sistema: Se il sistema ha un sovraccarico di memoria elevato, gli avvisi relativi alla memoria potrebbero essere emessi con maggiore frequenza.
  3. Utilizzo della memoria dell'applicazione: se un'app occupa molta memoria, è più probabile che il sistema emetta un avviso di memoria in modo che l'app possa liberare memoria non necessaria.

Livello di avviso della memoria

iOS fornisce tre livelli di avviso di memoria, gli sviluppatori possono farlo UIApplicationDelegate realizzato attraversoapplicationDidReceiveMemoryWarning Metodo per gestire gli avvisi di memoria.

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

È inoltre possibile sovrascrivere i controller di visualizzazione didReceiveMemoryWarning Metodo per gestire gli avvisi di memoria.

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

Valore di attivazione dell'avviso di memoria specifico

Sebbene iOS non riveli il valore specifico di attivazione dell'avviso di memoria, è possibile stimarlo osservando l'utilizzo della memoria di diversi dispositivi:

  • Dispositivi di fascia bassa (come iPhone 6 e 6s): Di solito, quando l'utilizzo della memoria è vicino a 500 MB, potrebbe essere attivato un avviso di memoria.
  • Dispositivi di fascia media (come iPhone 7 e 8): Potrebbe essere attivato un avviso di memoria quando l'utilizzo della memoria si avvicina a 1 GB.
  • Dispositivi di fascia alta (come iPhone X e successivi): Potrebbe essere attivato un avviso di memoria quando l'utilizzo della memoria supera 1,5 GB.

Come gestire gli avvisi di memoria

  1. Liberare risorse non necessarie: quando si riceve un avviso di memoria, rilasciare la memoria non più necessaria, come immagini memorizzate nella cache, dati temporanei, ecc.
  2. Caricamento ritardato e caricamento lento: Ritarda e carica lentamente le risorse il più possibile per ridurre l'utilizzo iniziale della memoria.
  3. Ottimizzare strutture dati e algoritmi: Scegli strutture dati e algoritmi di ottimizzazione appropriati per ridurre l'utilizzo della memoria.
  4. Utilizzando lo strumento Strumenti: utilizzare regolarmente lo strumento Strumenti per rilevare e analizzare l'utilizzo della memoria per identificare e risolvere perdite di memoria e utilizzo eccessivo della memoria.

Gestendo correttamente gli avvisi di memoria e ottimizzando l'utilizzo della memoria, è possibile migliorare significativamente le prestazioni e la stabilità delle applicazioni e ridurre gli arresti anomali e i blocchi causati da memoria insufficiente.


Quanta memoria è ragionevole per le app iOS?

L'utilizzo ragionevole della memoria di un'applicazione iOS dipende da molti fattori, tra cui la configurazione hardware del dispositivo, la complessità funzionale dell'applicazione e l'ambiente in esecuzione.

1. Configurazione hardware dell'apparecchiatura

  • dispositivi di fascia bassa : i dispositivi con meno memoria (1 GB o meno) sono sensibili all'utilizzo della memoria. Particolare attenzione deve essere prestata all'ottimizzazione della memoria.
  • dispositivo di fascia media: per i dispositivi con memoria media (da 2 GB a 3 GB), le applicazioni possono aumentare l'utilizzo della memoria in modo appropriato, ma deve comunque essere controllato entro un intervallo ragionevole.
  • Attrezzatura di fascia alta: per i dispositivi con memoria più grande (4 GB e superiore), le applicazioni possono utilizzare più memoria, ma un utilizzo eccessivo della memoria potrebbe comunque influire sulle prestazioni del sistema.

2. Tipi di applicazioni e funzioni

  • Applicazione semplice: Ad esempio, le applicazioni degli strumenti, i lettori di notizie, ecc., solitamente cercano di mantenere l'utilizzo della memoria al di sotto di 100 MB.
  • Applicazioni di media complessità: Nel caso di applicazioni di social media, giochi leggeri, ecc., l'utilizzo della memoria deve essere controllato tra 200 MB e 500 MB.
  • Applicazioni complesse: Nel caso di giochi su larga scala, applicazioni ad uso intensivo di grafica, ecc., l'utilizzo della memoria può raggiungere 500 MB o più, ma dovresti cercare di evitare di superare 1 GB.

3. Monitoraggio dell'utilizzo della memoria

Utilizza lo strumento Strumenti di Xcode per monitorare l'utilizzo della memoria della tua app, inclusi i modelli di allocazioni e perdite. Assicurarsi che l'utilizzo della memoria dell'applicazione sia stabile in condizioni di utilizzo normale e che non vi siano perdite di memoria evidenti.

4. Utilizzare metriche di utilizzo della memoria appropriate

4.1 Memoria residente

La memoria residente è la memoria fisica effettivamente occupata dall'applicazione, che può essere monitorata tramite il template Allocazioni degli Strumenti.

4.2 Memoria virtuale

La memoria virtuale è la memoria totale a cui può accedere un'applicazione, inclusa l'area di scambio della memoria. L'utilizzo della memoria virtuale è in genere superiore a quello della memoria residente.

riepilogo

L'impronta di memoria appropriata dipende dal tipo di applicazione specifica, dalla complessità funzionale e dal dispositivo di destinazione. In generale, dovresti cercare di mantenere l'utilizzo della memoria entro un intervallo ragionevole ed evitare di superare il limite della memoria disponibile del dispositivo. Attraverso pratiche di ottimizzazione della memoria, utilizzando strutture dati appropriate, ottimizzando l'elaborazione delle immagini e le prestazioni del codice, è possibile ridurre efficacemente l'utilizzo della memoria e migliorare le prestazioni e la stabilità dell'applicazione. Utilizzare regolarmente lo strumento Strumenti per monitorare e analizzare l'utilizzo della memoria per garantire che l'utilizzo della memoria da parte dell'applicazione sia ragionevole in vari scenari.