Seguro que muchos no se creerán el titular de este artículo. Pero realmente es así, pues todos los que lo probado, así lo confirman. Después de ver vuestras opiniones en el artículo del otro día, me puse a investigar un poco y parece que modificando distintos parámetros en los archivos internos del iOS 4 puede mejorar mucho el rendimiento.
En iPhone Locura nos cuentan que es posible acelerar iOS 4 en un iPhone 3G incluso con la multitarea y los fondos de pantalla activados. Lo que me parece un poco triste es que si un usuario es capaz de optimizar el iOS 4 cambiando parámetros de los archivos internos (sin llegar a modificar el código fuente), a Apple no le da la gana hacerlo más liviano y consiguiendo que la gente eche pestes de su sistema operativo, porque no está optimizado para funcionar en un teléfono de hace 2 años.
Antes de hacer nada, os recomendamos que hagáis un backup completo de vuestro iPhone para si os cargáis algo, podáis restaurarlo y la cosa no acabe en tragedia. También os advertimos que no nos hacemos responsables de lo que pueda pasarle a vuestro iPhone, y que seguís los pasos bajo vuestra propia responsabilidad. A pesar de todo, no es demasiado peligroso y con una simple restauración todo volverá a ser como antes.
Eliminación de los Daemon residentes en memoria
Los Daemon también conocidos como demonios, son procesos del sistema que se ejecutan en segundo plano y se encargan de la gestión de algunas tareas. En este caso, como el iPhone 3G no tiene mucha memoria, procederemos a prescindir de algunos de ellos. Aunque si no te gusta lo que supone eliminar cada uno de ellos, puedes optar por no hacerlo. Cuantos más procesos eliminemos, la velocidad de nuestro iOS 4 mejorará.
Para empezar, debemos acceder vía SSH a nuestro iPhone. A continuación, nos vamos a la carpeta /System/Library/LaunchDaemons. Una vez ahí dentro, tendremos que eliminar los siguientes archivos:
- com.apple.DumpPanic.plist - Este servicio se encarga de enviar los fallos y cuelgues de las aplicaciones a Apple.
- com.apple.ReportCrash.(loquesea).plist - De aquí, tendremos que eliminar todos los archivos .plist que empiecen por com.apple.ReportCrash.
- com.apple.CrashHouseKeeping.plist
- com.apple.aslmanager.plist - Este servicio es el administrador de los log del sistema.
- com.apple.syslogd.plist - Crea un archivo con un log de los distintos eventos del sistema.
- com.apple.powerlog.plist - Este servicio es el encargado de la monitorización de problemas con cargadores de terceros.
Los siguientes servicios que tenemos que eliminar no modifican nada al ser eliminados:
- com.apple.stackshot.server.plist
- com.apple.tcpdump.server.plist
- com.apple.iqagent.plist
- com.apple.mobile.profile_janitor.plist
Estos dos servicios tan sólo son de utilidad para los desarrolladores:
- com.apple.chud.chum.plist
- com.apple.chud.pilotfish.plist
Lo que habíamos borrado hasta ahora, no supone ninguna carencia al usuario de a pie. Sin embargo, con lo que proponemos borrar ahora, mejoraremos la velocidad del iPhone 3G, pero tendremos que pagar a cambio la carencia de algunos servicios o aplicaciones. Tú decides:
- com.apple.AddressBook.plist - Si borramos este servicio, la aplicación de contactos arrancará más lentamente, pues no queda residente en memoria.
- com.apple.accessoryd.plist - Borrando este servicio, será imposible conectar accesorios externos (Transmisores FM, Docks, etc) a nuestro iPhone, y éstos sólo permitirán cargarlo.
- com.apple.apsd.plist - Eliminando este daemon, eliminaremos las notificaciones push por completo de nuestro sistema.
- com.apple.dataaccess.dataaccessd.plist - Desactiva la sincronización de contactos con Exchange y Google Sync.
- com.apple.datamigrator.plist - Proceso encargado de transferir contactos entre la tarjeta SIM y el iPhone.
- com.apple.racoon.plist - Proceso utilizado para la gestión de conexiones VPN.
- com.apple.MobileInternetSharing.plist - Encargado de gestionar la compartición de datos con Tethering entre el iPhone y nuestro Mac.
- com.apple.AOSNotification.plist - Daemon encargado de la sincronización con MobileME.
- com.apple.AdminLite.plist - Es el proceso que se encarga de intentar recuperar el control de una aplicación que se ha quedado congelada. Si lo eliminamos, la aplicación se cerrará directamente.
Modificando los parámetros internos de algunos archivos
Ya está bien de eliminar cosas. Ahora que hemos dejado a nuestro iOS más liviano y sin procesos inútiles en segundo plano, toca optimizar el rendimiento modificando algunos de los parámetros en el interior de los archivos del sistema operativo.
Si editamos el archivo com.apple.itunesstored.plist, tendremos más RAM disponible para otras cosas. Para ello, lo abrimos con cualquier editor de texto (Text Edit nos vale perfectamente). Una vez abierto el archivo, tenemos que buscar lo siguiente:
<key>SuccessfulExit</key>
<false/>
Cuando tengamos localizada la clave SuccessfulExit, tendremos que cambiar el false por un true, con lo que quedaría así:
<key>SuccessfulExit</key>
<true/>
Desactivar las sombras de los iconos del Springboard
Las sombras de los iconos quedan muy bonitas, pero son una carga para el procesador, que propiciará la ralentización del springboard cuando el teléfono esté falto de recursos. Además, eliminando las sombras, las posibilidades de que se realice la animación de los iconos cuando pulsamos la tecla Home, aumentan. Para ello, tendremos que irnos a la carpeta /System/Library/CoreServices/
Una vez ahí, localizamos el archivo Springboard.app y pulsamos en Mostrar contenido del paquete abriendo el menú contextual. Una vez dentro del paquete, tenemos que eliminar 8 archivos .png que empiezan por Wallpaper:
Creando el archivo de intercambio para habilitar la memoria virtual
Una de las cosas de las que carece iOS es que no tiene archivo de memoria virtual, por lo que cuando se queda sin memoria RAM, empieza a cerrar aplicaciones o a volverse increíblemente lento. Cualquier sistema operativo (incluso Android o Windows Mobile) tienen archivos de intercambio para que no se resienta el rendimiento del teléfono cuando éste se queda sin memoria virtual. iOS no lo tiene, sin embargo there's an App for that.
La encargada de crear el archivo de intercambio será la aplicación iMemory enhacer (el cual necesita de SBSettings para funcionar). Como podemos ver en la captura siguiente, cuando iMemory enhacer está activado, queda mucha más memoria RAM libre. Y donde más se nota esto es en la velocidad general del terminal:
Obviamente esta aplicación no la vamos a encontrar en la App Store, así que tendremos que tener nuestro iPhone previamente jailbrakeado. En Cydia tendremos que añadir el repositorio siguiente:
http://gumballtech.com/cydia
Una vez tengamos iMemory enhacer instalado, tenemos que reiniciar el iPhone por completo. Esta vez tardará algo más para arrancar que de costumbre, pues tiene que generar el archivo de memoria virtual. Pero esto sólo ocurrirá una vez.
Hay gente que reporta que usar esta u otras aplicaciones que activan la memoria virtual en el iPhone es perjudicial para la vida útil de la memoria flash que éste incorpora. Sin embargo, yo uso una tarjeta Micro SD con una partición para la memoria virtual en mi HTC Magic durante varios meses, y no he tenido ningún tipo de problema. No creo que exista mucha diferencia entre los chip de memoria del iPhone y las tarjetas de memoria. Así que en vuestra mano queda activar la memoria virtual o no.
Deshaciéndonos de Spotlight
El Spotlight en el iPhone es una de las funcionalidades que trajo la actualización 3 de iOS. Muchos usuarios del iPhone 3G se quejaban de que no aparecía demasiado fluidamente. Aunque en el iPhone 3GS no se reportaban esos problemas, en el iPhone 3G sí que había problemas de lentitud.
Ahora en iOS 4, esto se acentúa aún más. Es más, muy poca gente hace uso de Spotlight en el iPhone; aunque en el Mac sí que es bastante interesante y útil. Pues bien, para desactivar Spotlight no necesitamos tener jailbreak en nuestro iPhone, por lo que está al alcance de cualquiera.
Para proceder a deshacernos de Spotlight, tenemos que ir a Ajustes, y allí navegamos por los menús General > Botón de Inicio > Búsqueda en Spotlight. Podemos deshabilitar las partes donde queremos que Spotlight no busque, o incluso quitarlo todo; quedando así desactivado por completo.