Los mapas de Google parecen tener una cantidad insana de intentos registrados para ello, así como otras formas de iniciarse.
Dado que se trata de una aplicación que consume bastantes recursos (sobre todo de memoria), me gustaría mucho que permanentemente no se ejecuta a menos que / hasta que realmente lo necesito. Sin embargo, Android sigue iniciándolo todo el tiempo, por ejemplo, cuando cambia el estado de la conectividad (lo que para mí ocurre con bastante frecuencia en interiores), o cambia la ubicación del GPS/de la red.
¿Hay alguna forma de asegurar que Google Maps no inicie NINGÚN proceso, garantizado, hasta que haga clic en un icono para iniciarlo deliberadamente?
Medio ambiente : Droid X, ejecutando Froyo 2.2 rooteado; tengo Autostarts . y Advanced Task Killer, así como la versión Pro de Titanium Backup instalada.
Estoy bastante abierto a casi cualquier método siempre que
-
Es fiable.
-
Me permite utilizar Google Maps con el 100% de las funcionalidades previstas una vez que lo necesito, sin requerir 5 minutos de trabajo para reconfigurar.
-
Lo ideal sería que no tuviera que reiniciar para usarlo, pero esto no es un problema.
-
Preferiría encarecidamente un método genérico que fuera aplicable a otras aplicaciones, no sólo a Google Maps.
-
Soy un desarrollador de software con una fuerte dosis de experiencia en administración de sistemas Unix/Linux. En otras palabras, las soluciones que requieran el uso de shell o la escritura/ejecución de scripts de shell (o Perl en el entorno de scripting de Android) son muy bienvenidas.
Las soluciones que implican escribir mi propia aplicación Java para Android son aceptables siempre y cuando sean lo suficientemente detalladas como para que un novato total en el desarrollo de Android pueda hacer al menos algo de trabajo sin estar 100% perdido.
Cosas que probé:
-
Matar los procesos a través de Task Killer NO funciona - vuelven a aparecer, ya sea inmediatamente o en un rato. Probablemente a través de Intents pero no estoy 100% seguro.
-
Métodos estándar para deshacerse de los problemas de GMaps (cerrar la sesión de Latitude/apagar el GPS y el localizador de red). Esto parece ayudar mucho PERO encuentro que la necesidad de apagar permanentemente el GPS/localizador es inaceptable - por ejemplo, no me permite ejecutar la aplicación Locale o cosas de Tasker basadas en la localización.
-
Congelar a través de Titanium Backup Pro. Esto requiere un reinicio y generalmente no es muy agradable.
Posibles enfoques en los que he pensado (pero no saben cómo hacerlo) son:
-
De alguna manera eliminar completamente (apagar) todos los Intentos registrados por Google Maps cuando no se necesitan.
Problemas: En primer lugar, no sé cuáles son TODOS los intentos que utiliza Google Maps.
En segundo lugar, la única forma práctica de hacerlo que conozco es la aplicación Autostarts, que NO es una solución viable: se tarda entre 5 y 10 minutos en encontrar y volver a activar todos los intentos Soy consciente de (Autostarts es realmente pobre en la gestión de intentos por aplicación - está centrado en cada uno de ellos), sin contar con los posibles intentos de los que Autostarts NO tiene conocimiento (es una caja negra, no sé qué intentos se pierden, si es que hay alguno.
-
Tener un script que cambie el nombre de los JARs o lo que sean los archivos ejecutables en Android (¿enteros .APK?) de digamos
GoogleMaps.apk
aGoogleMaps.disabled.apk
y de vuelta.Problema: No sé si esto es posible hacer en un Froyo rooteado. Además, Google Maps fue preinstalado en DroidX, por lo que el cambio de nombre de alguna manera sólo afectan a la actualización, pero no la aplicación original?
-
Tener un script que irá al APK y renombrará/moverá/vaciará el archivo de manifiesto para eliminar cualquier intención de esa aplicación.
Problema: ¿Esto requeriría una recompilación? Definitivamente requiere un reinicio, lo cual es una desventaja.