Evite que el lanzador de inicio sea asesinado

Tengo un Motorola Milestone y me he dado cuenta de que tiene una memoria relativamente baja (memoria de tiempo de ejecución, no capacidad de almacenamiento). El problema que surge con esto es que cada vez que demasiadas aplicaciones quieren ejecutarse en segundo plano, el sistema Android comienza a matar cosas, y con mi Milestone eso sucede muy fácilmente.

Eso no sería tan malo, si no fuera por el hecho de que Android parece pensar que el iniciador de inicio es la aplicación menos importante de todas (lo cual es absurdamente incorrecto). Por ejemplo, ahora mismo tengo una serie de aplicaciones que ensucian el fondo, algunas importantes (como Swype ) y otras sin sentido (como Facebook ). Si abro incluso una aplicación simple como Mensajes o Contactos o Configuración , el lanzador de inicio se elimina en segundo plano. Una vez que presiono el botón Inicio, aparece una pantalla de inicio vacía y tengo que esperar alrededor de 1 o 2 minutos para que todo se cargue nuevamente.

Esto sucede con todos los lanzadores domésticos que probé, aunque sucede más fácilmente con los más pesados. Hasta ahora, me las arreglé para vivir con este comportamiento evitando religiosamente las aplicaciones que se ejecutan en segundo plano (así como los widgets). Pero esta solución no es perfecta. Todavía sucede más a menudo de lo que me gustaría.

¿Hay alguna forma de cambiar las prioridades de Android cuando se trata de eliminar aplicaciones en segundo plano? Pero, ¿por qué el iniciador de inicio ocupa un lugar más bajo que el servicio de ubicación de Google Maps y el cargador (inactivo) de Facebook y todo lo demás? Quiero que el iniciador de inicio sea lo último que se elimine cuando la memoria esté baja, o lo más cercano posible (por ejemplo, obviamente no puede clasificarse más alto que la aplicación actualmente activa, pero entiendes mi punto).

Actualmente tengo instalado Cyanogen mod 6, pero también sucedió en el sistema operativo Android de serie, y estoy dispuesto a instalar absolutamente CUALQUIER ROM personalizada para resolver este problema.

Respuestas (3)

Creo que ADW Launcher tiene una configuración que debería mantener la aplicación en la memoria. Además, CM tiene una configuración para obligar al sistema operativo a mantener el iniciador en la memoria. No recuerdo dónde está en CM6, pero en CM7 está Settings -> CyanogenMod Settings -> Performancey se llama "Lock Home in Memory". No recuerdo si estaba en el mismo lugar o si se llamaba igual en CM6.

Esta opción es útil pero no ideal. Es lo que estoy usando en este momento (y gracias por señalarlo), pero a veces provoca inestabilidades y, a veces, bloquea la aplicación de primer plano actual.
Cualquier aplicación que se quede en la memoria como tú quieres provocará las inestabilidades que mencionas. Está obligando al dispositivo a mantener la memoria en uso para su iniciador cuando es posible que necesite usarla para la aplicación que se está ejecutando actualmente.
Entiendo. Es por eso que mencioné en la pregunta que el iniciador no debería tener una prioridad más alta que la aplicación que se está ejecutando actualmente, pero debería ser más alta que las aplicaciones en segundo plano. Está perfectamente bien que el iniciador se elimine si la aplicación activa necesita la memoria, solo quería que se elimine después de que se eliminen las otras aplicaciones en segundo plano (en lugar de ser el primero en la fila). Pero es comprensible que esa opción aún no exista =). No se puede tener todo.
@BruceConnor, este es probablemente el único punto en contra del argumento de que "Android maneja la memoria muy bien por sí solo". Creo que en su mayor parte lo hace, simplemente mata al lanzador repetidamente en el proceso. No es que un asesino de tareas realmente ayudaría.

Pruebe el supercargador v6 .

Puede hacer que su Lanzador de pantalla de inicio sea "difícil de matar" o "a prueba de balas". Si tiene ICS/JB, asegúrese de obtener la versión ICS/JB .

Además, asegúrese de desactivar el Lock Home in Memorylanzador (si lo tiene) antes de usar v6.

Intente agregar: ro.HOME_APP_ADJ=1al /system/build.proparchivo y reinicie (requerirá root).

Fuente: http://forum.xda-developers.com/showthread.php?t=860023