Vale a pena encerrar um aplicativo Android com task killers? Entenda por que não.

android-logo
Sempre que o assunto é gerenciamento de memória no Android este tema vem à tona.
Task killers são programas que servem para fechar arbitrariamente outros programas. Quem usa Linux talvez conheça o xKill, que serve para fechar qualquer aplicativo, desde que ele tenha alguma janela em exibição na tela.

POSTS RELACIONADOS

Embora seja útil para desenvolvedores ou profissionais que estejam fazendo testes, entre outros, para o usuário normal fazer uso de um task killer (assassino de tarefas, em português) pode ajudar a bagunçar o seu sistema em vez de torná-lo mais leve e rápido, como te prometeram.

O que é RAM

RAM (Random Access Memory ou memória de acesso aleatório, em português) é uma área, no seu aparelho, para armazenar os seus dados, enquanto ele estiver ligado. Cada sistema operacional faz um uso da RAM do dispositivo em que se encontra instalado.
Como o seu dispositivo não tem HD (disco rígido), ele vai usar a RAM para as mesmas atividades, manter aplicativos e dados em local mais acessível para o processador, uma vez que este tipo de memória tem um tempo de acesso muito melhor do que o cartão SD. É aonde os dados que precisam ser acessados mais vezes ficarão armazenados temporariamente.

Aplicativos em execução

Não estou dizendo que aplicativos de monitoramento do sistema sejam ruins. Este tipo de ferramenta tem sido usado desde o início da popularização dos PC’s, na década 80 e ninguém morreu até agora. Veja aqui o modo hacker de checar o uso da memória no seu dispositivo.
O Android, tal como outros sistemas operacionais construídos sobre as raízes do Unix têm algo em comum, no que toca a RAM:

RAM não usada é RAM desperdiçada

O nosso Android, tal como o MacOS e o Ubuntu, deseja usar toda a memória RAM possível. Ele foi projetado para isto. Há ajustes (chamados “minfree“) que dizem ao sistema quanto de RAM deve ser deixado livre e disponível. Mas, para o resto, o sistema está programado para preencher o espaço mais rápido possível e manter-se assim.
Já se perguntou “com o quê ele preenche este espaço?”. É uma boa pergunta.
Depois que o sistema, em si, tiver sido carregado, junto com tudo o que ele precisa imediatamente para funcionar, o sistema continua a carregar os seus aplicativos à medida em que são usados, até que uma função interna diga para parar.
O aplicativo atualmente aberto estará, com certeza, na memória RAM, mesmo depois de fechado. O próximo também será armazenado lá e assim em diante. Quando o sistema precisar de mais memória para algum outro aplicativo, ele vai desocupar os lugares que não estiverem mais sendo usados.
Ainda que você tenha 100 apps em seu aparelho, só deve usar alguns com frequência. Há grande probabilidade de eles já estarem armazenados na RAM, o que torna a sua abertura mais rápida. Neste caso eles não precisam ser lidos do cartão SD, o que economiza seu tempo e sua bateria. Note que a leitura/escrita do cartão consome mais energia do que o acesso à RAM, além de ser mais lenta.
Veja bem. O que ele faz é manter o Google Talk (ou qualquer outro aplicativo) na memória RAM, depois de fechado, para abri-lo quase instantaneamente na próxima vez, já que não será mais necessário ler o cartão.
Por este ponto de vista é que não vale a pena eliminar o programa da memória. Caso você não o use mais e o espaço que ele ocupa se torne necessário para armazenar outras coisas, o sistema se encarregará de fazer isto. Caso contrário, ele irá abrir mais rápido para você depois.
Já imaginou ter que carregar o messenger do cartão a cada vez que chega uma notificação de nova mensagem?
Desta forma, acredito que tenha ficado claro que os aplicativos, na memória RAM, não estão consumindo espaço à toa. Estão poupando a sua bateria e não estão sequer importunando a sua CPU. Estão apenas prontos para carregar mais rápido na próxima vez em que forem requisitados.

Cada vez menos, estes problemas importam

Os aparelhos Android têm evoluído a uma grande velocidade, ainda enquanto estão sobre nossas mãos – Os softwares estão melhores, os aparelhos estão melhores e a galera que escreve os programas está se tornando melhor nisto. A evolução das ferramentas de programação, também merece destaque.
Alguns programas mais parrudos podem demorar para serem fechados, mas serão fechados – tenha nervos. Arme-se de paciência para lidar com isto ou os desinstale, até poder comprar um aparelho com mais memória e maior capacidade de processamento. Mesmo aplicativos bem escritos podem demorar para descarregar e limpar a memória dos dados usados durante a sessão.
Ao matar um aplicativo arbitrariamente, você pode “vê-lo” sumir da memória, mas podem continuar lá alguns sub-aplicativos ou plugins zumbis ou órfãos, que seriam fechados graciosamente pelas vias normais.
Para ter uma ideia do quanto isto é prejudicial ao sistema, desenvolvedores do kernel são enfáticos ao pedir que não se use task killers.

O cenário atual

Os aparelhos (celulares, tablets etc) estão vindo com uma quantidade mais decente de memória e capacidade de processamento capaz de fazer um netbook corar de vergonha. O gerenciamento de memória do Android acompanhou esta evolução do hardware. Há cada vez menos motivos para se confiar em task killers.

O melhor conselho

Deixe o Android fazer o seu trabalho, gerenciar a memória e os outros recursos do seu dispositivo. Pare de se preocupar com isto.

😉

Gerenciamento de memória no Android

Saiba como analisar e entender o uso da memória no seu aparelho Android, através do meminfo, em conjunto com algumas outras ferramentas.
Para poder realizar os procedimentos relatados aqui, você vai precisar instalar o aplicativo de terminal do Android — clique no link, abaixo, para ir para a página de downloads, na Play Store
— Página de download do Android terminal na loja oficial do Google.
O meminfo é um arquivo e vamos fazer um acesso a ele de um modo não convencional.
Para isto, abra o Android terminal, que você acabou de instalar.

Como acessar as informações da memória do Android

Digite o seguinte comando no terminal do seu celular:

cat /proc/meminfo

O resultado vai ser algo parecido com o que você obteria em qualquer máquina Linux.
Na figura, abaixo, um exemplo do conteúdo do arquivo /proc/meminfo em uma máquina com o Ubuntu.
Captura de tela de 2013-03-26 16:44:41
Com a leitura adequada, o arquivo meminfo pode ajudar a entender o uso atual da memória do seu aparelho. Leve em consideração há variações entre as várias versões do Android.
Vejamos alguns itens:

  • MemTotal: A memória total do sistema (ou seja, memória RAM física menos alguns bits e o código binário do Kernel).
  • MemFree: É o que resta, sem uso, da memória total, no momento.
  • Buffers: A quantidade de memória em cache de buffer
  • Cached: Memória no cache de página, menos o SwapCache
  • SwapCache: Conteúdo da memória que já foi retirado do swap mas voltou e ainda se contra armazenada no arquivo de swap — se houver necessidade de usar este espaço, ela pode ser descartada (uma vez que há uma cópia do seu conteúdo no arquivo de swap). Segundo desenvolvedores, este procedimento poupa o fluxo de E/S.

Como monitorar o uso do HD (disco rígido) no Linux

O IOTOP é uma ferramenta semelhante ao TOP, no Linux, voltado para monitoramento do fluxo de informações de Entrada/Saída.
Sabe aquele problema em que você percebe que a máquina está usando/acessando excessivamente o disco rígido?
O iotop é uma das ferramentas que pode ajudar a esclarecer o que está havendo.
Um outro ponto, que precisa ser destacado, é que o iotop só vai funcionar no modo admnistrador. Mas, se você pode instalar programas no sistema, então provavelmente é o administrador – e eu não sei por que estou falando isto pra você. 🙂

LEIA MAIS:

Como instalar o iotop

Se a sua distro for baseada no Debian (Ubuntu, Linux Mint etc) use o seguinte comando para instalar o astro deste artigo:

sudo apt-get install iotop

No SuSE fica assim:

sudo yum install iotop

Como executar o iotop

Como já foi dito, o aplicativo precisa de privilégios administrativos para rodar no seu sistema. Você pode resolver isto com o comando sudo. Veja:

sudo iotop

Na parte superior, uma barra informa as taxas totais de leitura (read) e escrita (write) em relação ao HD. Em seguida, as taxas relativas a cada proceso ou threads são relacionadas.
iotop Captura de tela de 2013-03-17 10:31:27
Quem conhece o comando top, vai querer saber se há como customizar o iotop. É claro que sim.
Em vez de ver todas as threads ou processos que estão acessando o HD, pressione a tecla o e veja como um monte de informação desnecessária “desaparece” da tela:
iotop -o Captura de tela de 2013-03-17 10:38:03
Com uma visualização mais “limpa”, pode ficar mais fácil entender o que está acontecendo.
Se você quiser, pode acompanhar apenas um processo, como o do aplicativo transmission (cliente para baixar torrents). Para isto, primeiro você precisa descobrir o PID do processo e depois iniciar o iotop. Veja como:

deckard@Nexus6:~$ ps aux | grep transmission
deckard   <b>3487</b> 15.5  5.6 237420 115012 ?       Sl   09:23  15:51 transmission-gtk /tmp/.fr-m8WEzj/The.Pirate.Bay.AFAK(HDTV-x264-ASAP)[VTV].torrent

Note que o meu PID é 3487. No seu sistema, o valor será diferente. Fique atento a isso.
ps aux | grep transmission 13-03-17 11:05:44
De posse do seu PID informe-o ao iotop, conforme o exemplo:

sudo iotop --pid=3487

E note que apenas as informações referentes ao PID do programa selecionado serão exibidas na tela (no meu caso, o transmission).
Outra forma de acompanhar o transmission, que faz uso relativamente intenso do seu HD – o que pode depender da quantidade de arquivos envolvidos em processos de uploads/downloads é usar a opção de cumulatividade em conjunto com o filtro de processos ativos, assim:

sudo iotop -ao

Desta forma, muitas informações desnecessárias são inibidas e o relatório acumula os valores das taxas de entrada/saída de dados do seu HD.
iotop - oa Captura de tela de 2013-03-17 10:29:27

Como saber se o meu servidor está pronto para instalar o Magento?

Magento_logo
Se você já tem um servidor de Internet LAMP (Linux, Apache, MySQL e PHP) funcionando, é provável que tudo esteja em ordem. Caso contrário, leia aqui um artigo sobre como preparar o seu servidor.

O ambiente

Os comandos, abaixo, precisam de privilégios administrativos. Portanto, ao abrir um terminal, dê login como root, antes de prosseguir.

A verificação oficial

O site oficial do Magento tem um script que faz a verificação para você: magento-check.php.
Use o wget para fazer o download. Abra um terminal e entre como administrador do sistema (root):
wget http://www.magentocommerce.com/_media/magento-check.zip
Em seguida, instale o unzip:
apt-get install unzip
Extraia o arquivo:
unzip magento-check.zip
Copie-o pra pasta “home” do Apache:
cp magento-check.php /var/www/
Captura de tela de 2013-03-13 18:52:08
Agora acesse, com o seu navegador favorito o endereço localhost/magento-check.php e veja se o seu servidor está pronto para receber o Magento
Captura de tela de 2013-03-13 18:54:54
No caso da figura acima, falta instalar a extensão curl do PHP, o que pode ser feito assim:
apt-get install php5-curl
Reinicie o Apache:
/etc/init.d/apache2 stop
/etc/init.d/apache2 start

Depois disto, repita a checagem:
w3m localhost/magento-check.php
Captura de tela de 2013-03-13 19:04:14
Se tudo estiver ok, você pode seguir em frente com a instalação do Magento
Leia mais: Passo a passo para instalar o Magento.

Como instalar um servidor LAMP no Debian Linux

LAMP é uma abreviatura para LINUX – APACHE – MYSQL – PHP (ou Perl, ou Python…). Um servidor LAMP é útil para quem deseja criar páginas para Internet aplicativos web, mas quer testar em seu próprio computador antes de fazer os uploads.
lamp
Se você já está usando o Debian 9, sugiro a leitura de um texto mais atual, neste post https://elias.praciano.com/2017/07/como-instalar-um-servidor-web-lamp-no-debian-9/.

Como instalar o Apache

O Apache é o servidor web mais usado no mundo e pode ser instalado de maneiras diferentes no Debian. Umas das maneiras mais simples é através do aplicativo tasksel:

  1. No terminal, execute o tasksel
  2. Na tela do aplicativo, marque a opção Servidor Web
  3. Use a tecla Tab para ir até o botão Ok e tecle Enter

Captura de tela de 2013-03-13 16:25:16
Algumas questões serão feitas durante o processo de instalação e é seguro optar pela resposta padrão até a finalização.
Você pode instalar e configurar tudo (Apache, MySQL e PHP), com o tasksel, também. Leia mais aqui.

Como testar o Apache

O Debian tem um navegador em modo texto, que pode ser usado para esta tarefa: o w3m — mas você pode usar qualquer outro navegador para isto.
Execute o seguinte comando:


w3m http://localhost/

Se tudo tiver corrido bem, você terá uma tela parecida com esta:
Captura de tela de 2013-03-13 16:38:25
Para sair do w3m, tecle ‘Q’ e, em seguida, confirme a saída com ‘y’.

Como instalar o PHP

Vamos instalar aqui o PHP 5 e a biblioteca de integração do Apache ao PHP:


apt-get install php5 libapache2-mod-php5

Como testar a instalação do PHP

Execute o seguinte comando (ou copie e cole com Ctrl+C, Ctrl+V):


su -c "echo '<?php echo phpinfo(); ?>' > /var/www/html/teste.php"

Novamente, rode o w3m para verificar a instalação do PHP:


w3m http://localhost/teste.php

Captura de tela de 2013-03-13 17:05:00
Se você vir uma tela, semelhante à da figura, com informações sobre a instalação atual do PHP, é por que este está funcionando.

Como instalar o MySQL

Para instalar o MySQL execute o comando, a seguir:


apt-get install mysql-server mysql-client php5-mysql

Quando o instalador pedir, forneça uma nova senha pro MySQL e confirme-a, quando for pedido.
Captura de tela de 2013-03-13 17:11:34

Como instalar o PhpMyAdmin

Esta não é uma ferramenta essencial, mas ajuda a gerenciar os seus bancos de dados e tabelas no servidor, sem ocupar espaço significante no seu sistema:


apt-get install phpmyadmin

Novamente, aceite as configurações padrão durante a instalação (teclar Enter em algumas telas será o suficiente). O PhpMyAdmin vai pedir a senha que você cadastrou anteriormente para acessar o MySQL e vai pedir uma senha nova pro PhpMyAdmin (que deverá ser confirmada em seguida).

Teste do PhpMyAdmin

Como a página do PhpMyAdmin usa frames, é indicado usar um navegador mais sofisticado para testá-lo. Neste caso, o Firefox ou Chromium devem dar conta do recado. A página a ser acessada é http://localhost/phpmyadmin
Captura de tela de 2013-03-13 17:48:47
Divirta-se!