sistema para liberar gratis espacio descargar desbloquear cualquier compañia como americano iphone ios ios5 memory-management automatic-ref-counting

iphone - para - iOS 5 Mejores prácticas(¿Liberar/retener?)



liberar espacio sistema iphone (7)

Como programador inicial de iPhone, ¿cuál es la mejor práctica para escribir aplicaciones para usar con iOS 5 o versiones anteriores? Específicamente, ¿debería continuar utilizando la liberación / retención de datos, o debería ignorar eso? ¿Importa?


Los detalles son claros / bajo NDA en este momento, pero Apple implementó el conteo automático de referencias (ARC) en iOS 5, como se detalla aquí: http://developer.apple.com/technologies/ios5/

Si desarrolla una nueva aplicación en Xcode 4 con iOS 5 SDK, puede ignorar de forma segura el recuento de retención / liberación.

[edit] sudo rm -rf hace un buen punto; libs de terceros pueden verse afectados significativamente


Nadie mencionó SystemConfiguration.framework ? Por favor, no te olvides de ponerlo en Frameworks . Pasé miserablemente varias horas para darme cuenta.


Para cualquiera que todavía tenga curiosidad sobre cómo desactivar ARC en archivos individuales, esto es lo que hice:

  1. Vaya a la configuración de su proyecto, en Build Phases > Compile Sources
  2. Seleccione los archivos que desea que ARC deshabilite y agregue indicadores de compilador -fno-objc-arc . Puede establecer indicadores para múltiples archivos en una sola toma seleccionando los archivos y luego presionando la tecla "Enter".

No sé si esta es la manera recomendada, pero funciona para mí.

PD: recopilé esta información de clang.llvm.org here que es de acceso público, por lo tanto no bajo NDA.


Sin duda es la elección del desarrollador o del equipo. ARC (contador de referencia automático) ha facilitado un poco las cosas al administrar automáticamente la memoria por usted. Liberará, retendrá y desmantelará cuando sea apropiado. Creo que debe obtener experiencia administrando la memoria usted mismo preferiblemente en una aplicación de prueba, si aún no lo ha hecho. Otra cosa a considerar es si su aplicación depende de bibliotecas de terceros, que si no se convierten a ARC evitarán que su aplicación se compile. La elección depende obviamente de la situación en cuestión.


Tu decides. Puede escribir aplicaciones usando ARC (conteo automático de referencias), y Xcode escribirá "código de pegamento" para permitir que sus aplicaciones habilitadas para ARC se ejecuten en iOS 4, no se requieren modificaciones. Sin embargo, ciertas cosas no funcionarán, y lo más notable es que muchas bibliotecas que desearía usar (a veces) arrojarán innumerables errores y no podrá usarlos hasta que los desarrolladores publiquen una actualización que sea compatible con ARC.

Editar : Recientemente descubrí que puede desactivar ARC por archivo. Ver la respuesta de pixelfreak . Por lo tanto, mi consejo sigue en pie, pero ahora las bibliotecas de terceros no deberían necesitar ser actualizadas para trabajar con ARC.

Esto es lo que dice Apple sobre la exclusión de ARC de archivos específicos:

Cuando migra un proyecto para usar ARC, el indicador del compilador -fobjc-arc se establece como el predeterminado para todos los archivos fuente de Objective-C. Puede deshabilitar ARC para una clase específica utilizando el indicador de compilador -fno-objc-arc para esa clase. En Xcode, en la pestaña Crear fases de destino, abra el grupo Compilar fuentes para mostrar la lista de archivos de origen. Haga doble clic en el archivo para el cual desea establecer la bandera, ingrese -fno-objc-arc en el panel emergente, luego haga clic en Listo.

Vea la guía de transición completa here .


establecer el marcador como -fno-objc-arc en la configuración del proyecto> Fases de compilación> Compilar fuentes


iOS 5 todavía está bajo una NDA, y probablemente lo será hasta que publiquen la versión pública. Si tiene una cuenta de desarrollador, diríjase a los foros de desarrolladores de Apple y pregunte allí.

Para las versiones anteriores, debe contar las referencias y conservarlas y publicarlas según corresponda. Consulte la guía de administración de memoria .

Editar: Aquí hay una here y una cita de la página pública de iOS 5 :

El conteo automático de referencias (ARC) para Objective-C hace que la gestión de la memoria sea el trabajo del compilador. Al habilitar ARC con el nuevo compilador LLVM de Apple, nunca será necesario volver a escribir "retener" o "liberar", lo que simplificará enormemente el proceso de desarrollo y reducirá los bloqueos y las pérdidas de memoria. El compilador tiene una comprensión completa de sus objetos, y libera cada objeto en el instante en que ya no se utiliza, por lo que las aplicaciones se ejecutan tan rápido como siempre, con un rendimiento predecible y fluido.