Compartir tecnología

¿Cuánta memoria excede una aplicación de iOS antes de recibir una advertencia de memoria del sistema?

2024-07-08

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

¿Cuánta memoria excede una aplicación de iOS antes de recibir una advertencia de memoria del sistema?

En las aplicaciones de iOS, la activación de las advertencias de la memoria del sistema está determinada dinámicamente por el sistema operativo iOS y no es un umbral fijo. El sistema determina si se debe emitir una advertencia de memoria en función de la memoria disponible del dispositivo actual, los requisitos de memoria de otras aplicaciones en ejecución y el uso de memoria de la aplicación actual.

Activadores de advertencia de memoria

  1. Configuración de la memoria del dispositivo: Diferentes dispositivos tienen diferentes cantidades de memoria; por ejemplo, los dispositivos más antiguos pueden tener solo 1 GB de memoria, mientras que los dispositivos más nuevos pueden tener 4 GB o más.
  2. Presión de la memoria del sistema: Si su sistema tiene una presión de memoria alta, es posible que se emitan advertencias de memoria con más frecuencia.
  3. Uso de memoria de la aplicación: Si una aplicación ocupa mucha memoria, será más probable que el sistema emita una advertencia de memoria para que la aplicación pueda liberar memoria innecesaria.

Nivel de advertencia de memoria

iOS proporciona tres niveles de advertencia de memoria, los desarrolladores pueden UIApplicationDelegate realizado a través deapplicationDidReceiveMemoryWarning Método para manejar advertencias de memoria.

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

Los controladores de vista también pueden ser anulados por didReceiveMemoryWarning Método para manejar advertencias de memoria.

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

Valor de activación de advertencia de memoria específica

Aunque iOS no revela el valor de activación de advertencia de memoria específico, se puede estimar observando el uso de memoria de diferentes dispositivos:

  • Dispositivos de gama baja (como iPhone 6 y 6s): Por lo general, cuando el uso de la memoria se acerca a los 500 MB, se puede activar una advertencia de memoria.
  • Dispositivos de gama media (como iPhone 7 y 8): Es posible que se active una advertencia de memoria cuando el uso de la memoria se acerque a 1 GB.
  • Dispositivos de alta gama (como iPhone X y posteriores): Se puede activar una advertencia de memoria cuando el uso de la memoria supera los 1,5 GB.

Cómo lidiar con las advertencias de la memoria

  1. Liberar recursos innecesarios: Cuando reciba una advertencia de memoria, libere la memoria que ya no sea necesaria, como imágenes almacenadas en caché, datos temporales, etc.
  2. Carga retrasada y carga diferida: Retrase y cargue los recursos de forma diferida tanto como sea posible para reducir el uso de memoria inicial.
  3. Optimizar estructuras de datos y algoritmos.: Elija estructuras de datos y algoritmos de optimización adecuados para reducir el uso de memoria.
  4. Usando la herramienta Instrumentos: utilice periódicamente la herramienta Instrumentos para detectar y analizar el uso de memoria para identificar y resolver pérdidas de memoria y uso excesivo de memoria.

Al manejar adecuadamente las advertencias de memoria y optimizar el uso de la memoria, se puede mejorar significativamente el rendimiento y la estabilidad de las aplicaciones, y se pueden reducir los bloqueos y congelaciones causados ​​por memoria insuficiente.


¿Cuánta memoria es razonable para las aplicaciones de iOS?

El uso razonable de memoria de una aplicación iOS depende de muchos factores, incluida la configuración del hardware del dispositivo, la complejidad funcional de la aplicación y el entorno de ejecución.

1. Configuración del hardware del equipo

  • dispositivos de gama baja : Los dispositivos con menos memoria (1 GB o menos) son sensibles al uso de la memoria. Es necesario prestar especial atención a la optimización de la memoria.
  • dispositivo de gama media: Para dispositivos con memoria media (2 GB a 3 GB), las aplicaciones pueden aumentar el uso de memoria de manera adecuada, pero aún así es necesario controlarlo dentro de un rango razonable.
  • Equipos de alta gama: Para dispositivos con mayor memoria (4 GB y más), las aplicaciones pueden usar más memoria, pero el uso excesivo de la memoria aún puede afectar el rendimiento del sistema.

2. Tipos de aplicaciones y funciones

  • Aplicación sencilla: Por ejemplo, las aplicaciones de herramientas, lectores de noticias, etc., normalmente intentan mantener el uso de memoria por debajo de 100 MB.
  • Aplicaciones de complejidad media: Como aplicaciones de redes sociales, juegos livianos, etc., el uso de la memoria debe controlarse entre 200 MB y 500 MB.
  • Aplicaciones complejas: Como juegos a gran escala, aplicaciones con uso intensivo de gráficos, etc., el uso de memoria puede alcanzar los 500 MB o más, pero debe intentar evitar exceder 1 GB.

3. Monitoreo del uso de la memoria

Utilice la herramienta Instrumentos de Xcode para monitorear el uso de memoria de su aplicación, incluidas las plantillas de asignaciones y fugas. Asegúrese de que el uso de memoria de la aplicación sea estable en condiciones de uso normal y que no haya pérdidas de memoria obvias.

4. Utilice métricas de uso de memoria adecuadas

4.1 Memoria residente

La memoria residente es la memoria física realmente ocupada por la aplicación, que se puede monitorear a través de la plantilla de Asignaciones de Instrumentos.

4.2 Memoria virtual

La memoria virtual es la memoria total a la que puede acceder una aplicación, incluida el área de intercambio de memoria. El uso de la memoria virtual suele ser mayor que el de la memoria residente.

resumen

El consumo de memoria adecuado depende del tipo de aplicación específica, la complejidad funcional y el dispositivo de destino. En términos generales, debes intentar mantener el uso de la memoria dentro de un rango razonable y evitar exceder el límite de memoria disponible del dispositivo. A través de prácticas de optimización de la memoria, utilizando estructuras de datos adecuadas, optimizando el procesamiento de imágenes y el rendimiento del código, se puede reducir eficazmente el uso de la memoria y mejorar el rendimiento y la estabilidad de las aplicaciones. Utilice periódicamente la herramienta Instrumentos para monitorear y analizar el uso de la memoria para garantizar que el uso de la memoria de la aplicación sea razonable en varios escenarios.