2010-02-19 15 views
11

¿Alguien me puede vincular a una página que describe asignaciones de memoria para aplicaciones de iPhone.¿Cuánta memoria puede usar una aplicación de iPhone?

he oído que está limitado a un entorno limitado de ~ 20 megas, dependiendo del estado del teléfono, pero no puedo encontrar la fuente para esto.

+0

Por lo que he leído comienza a recibir advertencias de memoria después de 3 MB ** **. Pero tampoco puedo encontrar referencias a Apple. –

+0

Esa no ha sido mi experiencia. Realmente no recibimos advertencias de memoria hasta que llegamos a los adolescentes. Nuestra aplicación se ejecuta en cualquier lugar de 1.8 a 5 megas, y aumenta cuando tomamos fotos. –

Respuesta

12

Depende del dispositivo que esté utilizando. Descubrí que con un iPhone 3G, cuando la memoria total que usa su aplicación supera los 10-14MB, es vulnerable a fallas. Cuando llegue a los 20 MB, se bloqueará con seguridad.

Por lo que yo sé, Apple no da ninguna cifras concretas para la memoria que puede utilizar. Siempre cambia, por lo que es difícil precisarlo. Le recomiendan que confíe en las advertencias de memoria y las responda adecuadamente.

iPhone 3GS tiene una mucho mayor cantidad de memoria disponible para las aplicaciones (he oído que es alrededor de 4 veces). Aunque el iPhone 3GS solo tiene el doble de memoria que el iPhone 3G, el sistema operativo ocupa gran parte de esa memoria. Quedan muy pocas aplicaciones para ejecutar. Por eso, el 3GS permitirá que las aplicaciones usen mucha más memoria.

Además, puede haber una gran cantidad de memoria ya están en uso por el sistema operativo. Un ejemplo es cuando safari mantiene muchas pestañas abiertas. Esta es la razón por la que muchos juegos recomiendan reiniciar el dispositivo si se bloquea mucho.

Cuando se está programando, mantener un ojo en el aumento de la memoria (debido a objetos no desasignar correctamente) y la memoria de pico. Este problema se trata más de pruebas en el mundo real (en tantos dispositivos como sea posible) y buenas prácticas de programación.

He aquí un artículo de lista más sobre cómo hacer frente a los problemas de memoria:

http://akosma.com/2009/01/28/10-iphone-memory-management-tips/

+0

Guarda para la parte sobre Safari, esto es generalmente correcto. – bbum

+0

Lo de Safari es solo un rumor, nunca lo he probado yo mismo. ¿Has encontrado que no es verdad? –

+0

@nevanking pero en el caso de ARC (recuento automático de referencias) ¿deberíamos preocuparnos por el uso de memoria que significa la desasignación de objetos? – ViruMax

0

Depende del estado actual del dispositivo. Algunas aplicaciones nativas de iPhone pueden ejecutarse en segundo plano y desperdiciar recursos de dispositivos (Mail, Safari, Sms, Phone ...) Por lo tanto, es difícil decir cuánta memoria obtendrá ... Idealmente, su aplicación debe mantenerse dentro del límite de 10-12Mb para superar con éxito cualquier problema de memoria.

0

Creo que es

  • advertencias de memoria de 20 MB en
  • aplicación "accidentes" en 30MB

Estoy bastante seguro de que vi esto en The iPhone Developer's Cookbook: Building Applications with the iPhone SDK by Erica Sadun (libro sorprendente, por cierto).

también: Duplicate -> Maximum runtime memory available in iPhone and iPod?.

+0

Eso no está bien. No hay números duros. – bbum

+0

No quise dar a entender que esos fueran hechos científicos.Como escribió un cartel a continuación: "He descubierto que con un iPhone 3G, cuando la memoria total que usa tu aplicación supera los 10-14MB, es vulnerable a colisiones. Cuando alcanza los 20MB, se bloquea de forma segura". Este tipo de números son duros cuando lo piensas. – typeoneerror

1

Esta herramienta se encuentra lo que es la capacidad máxima de memoria de cualquier dispositivo iOS. También puede encontrar a qué nivel de memoria recibió la advertencia de memoria baja.

Aquí está el enlace: https://github.com/Split82/iOSMemoryBudgetTest

+0

Este es un pequeño y excelente proyecto. Gracias por el enlace. –

Cuestiones relacionadas