Partage de technologie

Quelle quantité de mémoire une application iOS dépasse-t-elle avant de recevoir un avertissement de mémoire système ?

2024-07-08

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

Quelle quantité de mémoire une application iOS dépasse-t-elle avant de recevoir un avertissement de mémoire système ?

Dans les applications iOS, le déclenchement des avertissements de mémoire système est déterminé dynamiquement par le système d'exploitation iOS et ne constitue pas un seuil fixe. Le système détermine s'il faut émettre un avertissement de mémoire en fonction de la mémoire disponible du dispositif actuel, des besoins en mémoire d'autres applications en cours d'exécution et de l'utilisation de la mémoire de l'application actuelle.

Déclencheurs d'avertissement de mémoire

  1. Configuration de la mémoire de l'appareil: Différents appareils ont des quantités de mémoire différentes. Par exemple, les appareils plus anciens peuvent n'avoir que 1 Go de mémoire, tandis que les appareils plus récents peuvent en avoir 4 Go ou plus.
  2. Pression de la mémoire système: Si votre système subit une pression mémoire élevée, des avertissements de mémoire peuvent être émis plus fréquemment.
  3. Utilisation de la mémoire des applications: Si une application occupe beaucoup de mémoire, le système sera plus susceptible d'émettre un avertissement de mémoire afin que l'application puisse libérer de la mémoire inutile.

Niveau d'avertissement de mémoire

iOS fournit trois niveaux d'avertissement de mémoire, les développeurs peuvent UIApplicationDelegate réalisé à traversapplicationDidReceiveMemoryWarning Méthode pour gérer les avertissements de mémoire.

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

Les contrôleurs de vue peuvent également être remplacés par didReceiveMemoryWarning Méthode pour gérer les avertissements de mémoire.

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

Valeur de déclenchement d'avertissement de mémoire spécifique

Bien qu'iOS ne divulgue pas la valeur spécifique du déclencheur d'avertissement de mémoire, elle peut être estimée en observant l'utilisation de la mémoire de différents appareils :

  • Appareils bas de gamme (tels que les iPhone 6 et 6s): Généralement, lorsque l'utilisation de la mémoire est proche de 500 Mo, un avertissement de mémoire peut être déclenché.
  • Appareils de milieu de gamme (tels que les iPhone 7 et 8): Un avertissement de mémoire peut être déclenché lorsque l'utilisation de la mémoire approche 1 Go.
  • Appareils haut de gamme (comme l'iPhone X et plus récent): Un avertissement de mémoire peut être déclenché lorsque l'utilisation de la mémoire dépasse 1,5 Go.

Comment gérer les avertissements de mémoire

  1. Libérez les ressources inutiles: Lorsque vous recevez un avertissement de mémoire, libérez la mémoire qui n'est plus nécessaire, comme les images mises en cache, les données temporaires, etc.
  2. Chargement retardé et chargement paresseux: Retardez et chargez les ressources paresseusement autant que possible pour réduire l'utilisation initiale de la mémoire.
  3. Optimiser les structures de données et les algorithmes: Choisissez des structures de données et des algorithmes d'optimisation appropriés pour réduire l'utilisation de la mémoire.
  4. Utilisation de l'outil Instruments: utilisez régulièrement l'outil Instruments pour détecter et analyser l'utilisation de la mémoire afin d'identifier et de résoudre les fuites de mémoire et l'utilisation excessive de la mémoire.

En gérant correctement les avertissements de mémoire et en optimisant l'utilisation de la mémoire, les performances et la stabilité des applications peuvent être considérablement améliorées, et les plantages et blocages causés par une mémoire insuffisante peuvent être réduits.


Quelle quantité de mémoire est raisonnable pour les applications iOS ?

L'utilisation raisonnable de la mémoire d'une application iOS dépend de nombreux facteurs, notamment la configuration matérielle de l'appareil, la complexité fonctionnelle de l'application et l'environnement d'exécution.

1. Configuration matérielle de l'équipement

  • appareils bas de gamme : Les appareils avec moins de mémoire (1 Go ou moins) sont sensibles à l'utilisation de la mémoire. Une attention particulière doit être portée à l'optimisation de la mémoire.
  • appareil milieu de gamme: Pour les appareils dotés d'une mémoire moyenne (2 Go à 3 Go), les applications peuvent augmenter l'utilisation de la mémoire de manière appropriée, mais elle doit toujours être contrôlée dans une plage raisonnable.
  • Équipement haut de gamme: Pour les appareils dotés d'une mémoire plus grande (4 Go et plus), les applications peuvent utiliser plus de mémoire, mais une utilisation excessive de la mémoire peut toujours affecter les performances du système.

2. Types d'applications et fonctions

  • Application simple: Par exemple, les applications d'outils, les lecteurs de nouvelles, etc. essaient généralement de maintenir l'utilisation de la mémoire en dessous de 100 Mo.
  • Applications de complexité moyenne: Comme pour les applications de réseaux sociaux, les jeux légers, etc., l'utilisation de la mémoire doit être contrôlée entre 200 Mo et 500 Mo.
  • Applications complexes: Comme pour les jeux à grande échelle, les applications gourmandes en graphiques, etc., l'utilisation de la mémoire peut atteindre 500 Mo ou plus, mais vous devez essayer d'éviter de dépasser 1 Go.

3. Surveillance de l'utilisation de la mémoire

Utilisez l'outil Instruments de Xcode pour surveiller l'utilisation de la mémoire de votre application, y compris les modèles d'allocations et de fuites. Assurez-vous que l'utilisation de la mémoire de l'application est stable dans des conditions normales d'utilisation et qu'il n'y a pas de fuite de mémoire évidente.

4. Utilisez des métriques d'utilisation de la mémoire appropriées

4.1 Mémoire résidente

La mémoire résidente est la mémoire physique réellement occupée par l'application, qui peut être surveillée via le modèle d'allocations d'Instruments.

4.2 Mémoire virtuelle

La mémoire virtuelle est la mémoire totale à laquelle une application peut accéder, y compris la zone d'échange de mémoire. L'utilisation de la mémoire virtuelle est généralement supérieure à celle de la mémoire résidente.

résumé

L'empreinte mémoire appropriée dépend du type d'application spécifique, de la complexité fonctionnelle et du périphérique cible. De manière générale, vous devez essayer de maintenir l'utilisation de la mémoire dans une plage raisonnable et éviter de dépasser la limite de mémoire disponible de l'appareil. Grâce à des pratiques d'optimisation de la mémoire, en utilisant des structures de données appropriées, en optimisant le traitement des images et les performances du code, vous pouvez réduire efficacement l'utilisation de la mémoire et améliorer les performances et la stabilité des applications. Utilisez régulièrement l'outil Instruments pour surveiller et analyser l'utilisation de la mémoire afin de garantir que l'utilisation de la mémoire de l'application est raisonnable dans divers scénarios.