phoneclean para otros limpiar integradas imagenes gratis desactivar dentro compras como carga cache borrar app aplicaciones apartado ios iphone ipad memory ios7

para - ¿Cuánta memoria puede usar una aplicación de iOS?



phoneclean (3)

... cuando está en primer plano.

Para el iPad original, con 256MB de RAM, encontré que mi aplicación podría usar hasta 100-140MB antes de que se matara.

¿Cuál es la situación hoy en día? Podría comprar un montón de iDevices y hacer una prueba yo mismo, pero quería verificar: ¿Alguien ha hecho una prueba?

Entiendo que esto no tiene una respuesta precisa, y estoy buscando un rango, como: "Las aplicaciones se destruyen cuando usan 300-350MB en un dispositivo de 512MB. Puede usar de forma segura hasta 300MB".

Específicamente:

  1. En un dispositivo con memoria de 512 MB, ¿cuánto puede usar una aplicación?

  2. En un dispositivo con 1 GB de memoria, ¿cómo puede usar una aplicación?

  3. ¿Hay alguna diferencia entre las anteriores? ¿Está cada aplicación individual limitada a una cantidad fija de memoria con el interés de mantener algunas aplicaciones en segundo plano, o puede la aplicación en primer plano eliminar TODAS las aplicaciones en segundo plano de la memoria y tomar todo el 1GB (o 512 MB) para sí mismo (y el Sistema operativo, por supuesto)?

  4. ¿Importa si el dispositivo es un iPad o un iPhone? Si hago que mi aplicación funcione en un iPad con 512 MB de memoria, ¿significa que también funcionará en un iPhone con 512 MB de memoria y viceversa? Sé que UIViews, y sus tiendas de respaldo Core Animation, tendrán más memoria en el iPad debido al tamaño de pantalla más grande, pero aparte de eso, ¿la situación de la memoria es la misma entre un iPhone y un iPad con la misma memoria?

Me refiero a la memoria total utilizada por el proceso: montón, pila, datos estáticos, código, almacenes de respaldo Core Animation, etc.

Si te inclinas a decir que depende de la versión del sistema operativo, puedes asumir que estamos hablando de iOS 7.

Sé que usar demasiada memoria significa que cuando mi aplicación pasa a segundo plano, iOS terminará más rápido. Estoy bien con esta compensación por ahora.


A partir de 2014, mi dispositivo de prueba de hardware mínimo es un iPhone 4s con iOS7 con ~ 50 aplicaciones instaladas. Después de reiniciar, el sistema operativo puede liberar hasta 200mb de un total de 512. Después de una semana de uso regular, lo mejor que puede administrar es 100mb.

Estoy desarrollando una aplicación Adobe AIR que no recibe advertencias de memoria baja del sistema operativo. Si se acerca al límite, se bloquea. Por lo tanto, trate de mantenerse por debajo de 100 mb si desea ejecutar en dispositivos con 512 MB de memoria RAM total. Recuerde, esto es para la CPU y la CPU combinadas.


Escribí una aplicación de prueba que mide cuánta memoria puede asignar una aplicación antes de que se mate. Aquí están los números:

  • iPhone 5s (iOS 10, modo de depuración, memoria de 1GB): se pueden asignar 600MB
  • iPad Air 2 (iOS 11.4, memoria de 2GB): se pueden asignar 1.3GB
  • iPhone X (iOS 11.4, memoria de 3GB): se pueden asignar 1.3GB
  • iPhone 7 Plus (iOS 10, modo de depuración, memoria de 3GB): se pueden asignar 2GB
  • iPad de 13 pulgadas (iOS 11.4, memoria de 4GB): se pueden asignar 3GB

Es interesante que nunca recibí una advertencia de memoria.

Aquí está el código si desea ejecutar la prueba usted mismo:

import UIKit let sizeInMb = 100 class Wrapper { var array = [UInt8](repeating: 0, count: sizeInMb * 1048576) // 100 MB } @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) var i = 0 sleep(5) // So that you can see how much memory it consumes before any allocations. while true { let w = Wrapper() Unmanaged<Wrapper>.passRetained(w) i += 1 print("/(i * sizeInMb) MB allocated") sleep(1) // Give the OS a chance to kill other processes. } return true } func applicationDidReceiveMemoryWarning(_ application: UIApplication) { print("Memory warning!") } }


Hola, acabo de probar con mi aplicación, para un dispositivo de 512 MB, la aplicación se bloqueará en cualquier momento después del uso de 250 mb, dando un problema de "Presión de memoria".