O Google maps parece ter uma quantidade insana de intenções registradas, além de outras formas de iniciar.
Como esse é um aplicativo que demanda muito recursos (principalmente em termos de memória), eu gostaria muito que ele permanecesse em execução permanentemente, a menos que eu realmente precise. No entanto, o Android continua iniciando o tempo todo - por exemplo, quando o status da conectividade é alterado (o que para mim acontece com bastante frequência em ambientes fechados) ou o local do GPS / rede.
Existe alguma maneira de garantir que o Google Maps não inicie QUALQUER processo, garantido, até clicar em um ícone para iniciá-lo deliberadamente?
Ambiente : Droid X, executando o rooted Froyo 2.2; Eu tenho arranques automáticos . e Advanced Task Killer, bem como a versão Pro do Titanium Backup instalada.
Estou bastante aberto a quase qualquer método, desde que
É confiável.
Ele permite que eu use o Google Maps com 100% da funcionalidade pretendida quando eu precisar, sem precisar de 5 minutos de trabalho para reconfigurar.
Idealmente, não requer que eu reinicie para usá-lo, mas este não é um bom negócio.
Eu preferiria fortemente um método genérico que seria aplicável a outros aplicativos, não apenas ao Google Maps.
Sou desenvolvedor de software com uma grande dose de experiência em administração de sistemas Unix / Linux. Em outras palavras, soluções que requerem prompt de shell ou scripts de escrita / execução de shell (ou Perl no Android Scripting Environment) são extremamente bem-vindas.
As soluções que envolvem escrever meu próprio aplicativo Java Android são aceitáveis desde que detalhadas o suficiente para que um novato em desenvolvimento Android possa realizar pelo menos algum trabalho sem estar 100% perdido.
Coisas que tentei:
Matar os processos via Task Killer NÃO está funcionando - eles voltam, imediatamente ou em pouco tempo. Provavelmente via Intents, mas não 100% certo.
Métodos padrão para se livrar dos problemas do GMaps (faça logout no Latitude / desligue o GPS e o localizador de rede). Isso parece ajudar muito, mas acho inaceitável a necessidade de desligar permanentemente o GPS / localizador - por exemplo, ele não me permite executar o aplicativo Locale ou coisas Tasker baseadas em localidade.
Congelar via Titanium Backup Pro. Isso requer uma reinicialização e geralmente não é muito agradável.
As possíveis abordagens em que pensei (mas não sei como fazer) são:
De alguma forma, elimine (desative) TODAS as intenções registradas pelo Google Maps quando não for necessário.
Problemas: primeiro, não sei o que TODAS as intenções do Google Maps usam.
Segundo, a única maneira prática de fazer isso que conheço é o aplicativo Autostarts, que NÃO é uma solução viável - leva de 5 a 10 minutos para encontrar e reativar todas as intenções que tenho conhecimento (o Autostarts é realmente ruim em - gerenciamento de intenção de aplicativo - é centrado por intenção), não importa as possíveis intenções que a Autostarts NÃO conhece (é uma caixa preta, não sei quais intenções são perdidas, se houver).
Ter um script que irá renomear os JARs ou o que os arquivos executáveis no Android são (.apk inteira?) De dizer
GoogleMaps.apk
paraGoogleMaps.disabled.apk
e volta.Problema: não sei se isso é possível em um Froyo enraizado. Além disso, o Google Maps foi pré-instalado no DroidX, portanto, a renomeação afetaria SOMENTE a atualização, mas não o aplicativo original?
Tenha um script que vá para o APK e renomeie / mova / esvazie o arquivo de manifesto para remover qualquer intenção desse aplicativo.
Problema: Isso exigiria uma recompilação? Definitivamente requer uma reinicialização que é um sinal de menos