Índice:
- Gerenciamento de memória do Android
- Mas nada é perfeito
- A interface do assassino de tarefas
- Tarefas matadoras manualmente
- AutoKilling
- Uma seção especial aqui para os tipos de root / ROM'd / Mad Scientist
Ed. nota: desculpe pelo problema, pessoal. A coluna agora está aqui na íntegra.
Ei todo mundo. Esta semana vamos falar sobre o espinho no lado do Android - gerenciamento eficiente de tarefas.
Antes de começarmos, sim, eu sou uma daquelas pessoas que dirão " Pare de usar o assassino de tarefas " como primeira resposta a algumas perguntas estranhas. Muitas outras pessoas bem informadas dirão a mesma coisa. Eles (nós) estão certos. Os aplicativos matadores de tarefas tendem a causar muitos problemas, simplesmente porque usá-los corretamente pode ser um pouco confuso, especialmente com todas as informações conflitantes por aí. Siga-nos após o intervalo e vamos descobrir isso de uma vez por todas.
Alguns dias atrás, tivemos uma postagem na primeira página com as escolhas de aplicativos dos Editores centrais do Android. Nosso editor chefe Dieter Bohn escolheu o TasKiller Pro. É claro que a segunda ou terceira resposta nos comentários foi rápida em apontar que os assassinos de tarefas “ estragam o telefone. Isso apenas reforçou meu pensamento de que realmente precisamos discutir isso juntos e deixar que cada pessoa decida suas necessidades em vez de atacar os assassinos de tarefas como um todo.
Gerenciamento de memória do Android
O Android foi projetado para ser uma fera multitarefa, que cospe fogo. Ele permite que os aplicativos mantenham seu lugar na RAM do dispositivo e fique pronto para voltar ao foco quando o usuário precisar deles. O sistema operacional também é muito bom em compartilhar bibliotecas entre aplicativos, para que os codificadores de aplicativos tenham um ótimo conjunto de funções já criadas para você escolher. Em um mundo perfeito (perfeito para desenvolvedores de qualquer maneira), todos nós usaríamos os mesmos aplicativos pelas mesmas razões, e isso seria o fim.
Mas nada é perfeito
Todos nós usamos aplicativos diferentes, em momentos diferentes, de maneiras diferentes. Quando você considera esse pesadelo para os desenvolvedores, é surpreendente que o Android (ou qualquer sistema operacional móvel) lide com o trabalho tão bem quanto ele. Vamos dar uma olhada rápida e fácil de entender no que se passa atrás dessa tela.
Um aplicativo é iniciado porque você o iniciou ou o desenvolvedor vê um benefício em executá-lo nos bastidores. Alguns exemplos do último bit -
- Quando você adiciona ou remove um aplicativo, o Google Voice é iniciado (se não estiver em execução). Ele examina o aplicativo para ver se precisa usar ou compartilhar alguma função com ele. Instalar um novo mecanismo de conversão de texto em fala? O Google Voice o usará.
- Copiar algumas fotos do seu cartão SD para o seu computador? A galeria precisa ser inicializada quando você remontar o cartão SD para procurar novas fotos ou vídeos, para que possa digitalizá-los e tê-los prontos para serem exibidos no local certo.
Tudo isso parece ótimo. O que não estamos considerando acima é que esses aplicativos permanecerão na memória do dispositivo até que sejam solicitados a fechar. Eles não usarão outros recursos, apenas ficarão ociosos e estarão prontos para se recriar na tela. Na era atual de processadores de 1 GHz + e transferência de dados em alta velocidade, ficamos impacientes quando queremos carregar um NOVO aplicativo e isso não é instantâneo. Queremos que nosso dispositivo faça zoom entre as telas. Queremos que nosso dispositivo coloque novos aplicativos em foco. Queremos que nosso dispositivo tenha um desempenho que não foi projetado para funcionar. Usar um assassino de tarefas da maneira correta pode se aproximar desses objetivos.
A interface do assassino de tarefas
Cada aplicativo parece e age um pouco diferente, e os assassinos de tarefas não são exceção. Vou usar o Advanced Task Manager para meus exemplos. Não estou recomendando isso acima de nenhum outro. Atende às minhas necessidades e valeu a pena os US $ 0, 99, então parei de procurar alternativas. Sua escolha pode parecer um pouco diferente, mas deve ter a mesma funcionalidade. Basta dar uma olhada nas configurações e você encontrará onde fazer as mesmas alterações e escolhas.
Abaixo, você está olhando para uma lista de aplicativos em execução que o assassino de tarefas tem permissão para matar depois de dar o aval. Você não está vendo todos os processos em execução, e ler um pouco mais explicará por que isso é uma coisa boa. Voltaremos a esta imagem daqui a pouco, mas aguarde um segundo e examine-a por enquanto.
Tarefas matadoras manualmente
A melhor maneira mais fácil e menos complicada de usar um assassino de tarefas é abri-lo e eliminar manualmente coisas das quais você certamente não precisa sempre que sentir que as coisas estão mais lentas. O truque é saber o que mais não funcionará se você matar um aplicativo. Coisas como jogos, navegadores da web, dicionários ou outros aplicativos independentes geralmente são uma aposta segura para acabar se você os encontrar em execução. No exemplo acima, o Astro File Manager está sendo executado porque eu estava procurando por um arquivo que havia baixado. Eu terminei com o Astro, então não há necessidade de continuar funcionando. Eu poderia matá-lo com segurança, e nada mais seria afetado.
Você não pode vê-lo na minha captura de tela acima, mas o Market também está em execução. Não abro o mercado há algum tempo, mas não vou matá-lo. Por quê? Porque, se o fizer, a notificação de atualizações dos meus aplicativos Market instalados não será exibida. Existem muitos aplicativos que precisam permanecer vivos para usar todos os seus recursos. Você terá que pensar um pouco antes de decidir se pode simplesmente matar um aplicativo. Aqui está uma idéia geral do que pensar:
- Aplicativos que lembram alguma coisa - eu uso o Astrid para me ajudar a lembrar de tarefas e prazos. Astrid pode acionar uma notificação para me lembrar quando os eventos estão chegando. Se eu acabar com isso, não receberei lembretes. Então eu me perco no meu computador e nada é feito.
- Aplicativos que procuram atualizações - No exemplo anterior, deixei o Market em execução para que ele possa me notificar sobre qualquer atualização de aplicativo. Todos os aplicativos que procuram periodicamente dados externos precisam permanecer ativos se desejar que eles encontrem algum desses dados.
- Aplicativos que ainda estão fazendo algo - no meu exemplo, o Connectbot está em execução. Por acaso, tenho uma conexão ativa com um servidor na garagem que estou atualizando. Posso mudar rapidamente e ver o progresso, além de emitir os comandos diretamente do meu telefone. Se eu acabar com isso, terei que reabrir e conectar novamente a cada vez.
AutoKilling
Os gerentes de tarefas geralmente vêm com uma função para eliminar aplicativos periodicamente. É aqui que as coisas ficam perigosas. Felizmente, a maioria também vem com algum tipo de lista de desbloqueio de aplicativos que não são mortos durante esse auto-killfest. Embora ainda seja necessário algum bom senso, alguns aplicativos sempre precisam estar nessa lista
- Qualquer aplicativo que tenha o nome do fabricante ou das transportadoras nunca deve ser eliminado.
- Qualquer aplicativo que tenha a palavra android. (sim, o período existe de propósito) nunca deve ser morto.
- Qualquer aplicativo que mantenha o tempo nunca deve ser eliminado.
- Qualquer aplicativo que tenha um widget que atualize nunca deve ser eliminado.
- Qualquer aplicativo que não esteja instalado em / data (é para onde os aplicativos do usuário vão) nunca deve ser morto.
- Se você não consegue descobrir exatamente o que é um aplicativo, ele nunca deve ser eliminado.
- Substituições domésticas, sejam elas do Market ou do fabricante, nunca devem ser eliminadas. Isso também significa Sense, Blur e Touchwiz. Eles também têm dependências que devem permanecer vivas, consulte os números 1, 5 e 6 acima. Obviamente, se você é um mexicano e sabe quais partes do sistema não precisam ser executadas em sua instalação específica, sinta-se à vontade para experimentar. E compartilhe seus resultados.
Isso restringe bastante as coisas. Marque todos os seus jogos para serem mortos. Marque todos os seus "aplicativos independentes" (como o Astro no exemplo acima) como mortos. Marque as coisas que você precisa ocasionalmente, mas não quer correr atrás dos bastidores para ser morto. Leia o que resta e veja se ele se encaixa em qualquer uma das categorias acima. Se isso acontecer, marque-o para nunca ser morto. Lembre-se de considerar coisas como o ConnectBot no meu exemplo. Eu não quero que ele seja executado o tempo todo, mas enquanto estiver usando, gostaria que permanecesse vivo em segundo plano, por isso marcarei para NÃO ser habilitado automaticamente pelo gerenciador de tarefas. Claro, você terá que definir o próprio assassino de tarefas para que ele permaneça vivo.
Se o seu assassino de tarefas tiver uma configuração para determinar com que frequência matar aplicativos, defina-o com a maior frequência possível. Não vejo sentido em ter o assassino de tarefas em execução e não usá-lo, pois esse é o motivo para usá-lo em primeiro lugar.
Feito isso, aperte o botão Início e ignore tudo por um tempo. Use o telefone como faria normalmente, mas preste atenção se algo começar a não funcionar como antes. Se as coisas começarem a sair do controle, dê uma olhada na lista de permissões e verifique se o aplicativo em questão não está definido para ser eliminado. Eu direi logo de cara - nunca mate seu relógio, se você quiser usar o alarme, os assentos de última hora em um avião porque você perdeu o voo são muito mais caros do que os adquiridos pelo seu bilheteiro uma semana antes.:)
Uma última coisa a ter em mente - Quando / se você tiver problemas com o seu dispositivo e estiver procurando ajuda, não deixe de mencionar que está usando um assassino de tarefas e como o está usando. “Ajuda com alarme no Cliq - usando ATK, mas não matando o relógio” é um ótimo exemplo disso. Você ainda receberá respostas dizendo para parar de usar os assassinos de tarefas, mas também poderá obter algo útil. Informar as pessoas de que você está usando um assassino de tarefas, mas que está ciente do uso "correto" eliminará parte da negatividade. Além disso, o uso de bons títulos de tópicos descritivos sempre ajudará os moderadores do fórum e facilitará a pesquisa da próxima pessoa com os mesmos problemas.
Uma seção especial aqui para os tipos de root / ROM'd / Mad Scientist
Há uma nova geração de assassinos de tarefas por aí nas selvas do mercado. Eles ajustam os parâmetros do kernel lowmemorykiller e permitem que as coisas funcionem normalmente, em vez de fazer com que o usuário (que sou eu e você) tente gerenciar cada aplicativo. Faz sentido quando você considera que o código do assassino de memória baixa e suas configurações não foram alterados desde o Android 1.0. Se você estiver disposto a reservar um tempo para ajustar as configurações de acordo com suas necessidades, elas funcionam muito bem. Também é muito fácil passar essas configurações para o sistema sem um aplicativo, escrevendo valores específicos nas configurações do sistema. Se isso lhe interessa (e se você é um tweeker, deveria!), Seria um ótimo assunto para um tópico nos fóruns de hackers, e um que eu adoraria participar. Sim, isso é uma dica:)
Até a próxima vez, Jerry