É incrível a cara de pau de alguns desenvolvedores. Segundo o Android Police surgiu na Play Store um desfragmentador de disco para o Android (não tenho como colocar o link porque ele já foi excluído da loja, ainda bem).

Para entender minha primeira frase acima é necessário antes entender o que é desfragmentar o disco. Imagine uma estante onde os livros são guardados. Com o tempo, ao tirar livros e colocar novos vão ficando buracos na estante. Para ocupá-los se começa a colocar partes de livros nos buracos, fazendo com que um pedaço do livro fique num lugar e outro pedaço em outro. Ao pegar um livro que está desmembrado é preciso se deslocar por vários lugares da estante para juntar os pedaços. Desfragmentar significaria juntar os pedaços dos livros e deixá-los juntos, no mesmo local da estante. Assim o trabalho de pegar um livro seria bem menor (e mais rápido).

Isso acontece também em alguns sistemas operacionais de computador, com o disco rígido. Os arquivos acabam sendo colocados de forma não linear, ocupando os buracos disponíveis e ficando dispersos. Só que o disco rígido é um componente mecânico, que depende da movimentação da cabeça de leitura para pegar os dados! Quanto mais espalhados eles estão no disco, mais tempo leva para a cabeça se mover de um lado a outro e mais tempo leva para recuperar o arquivo inteiro. Por isso que desfragmentar o disco rígido muitas vezes aumenta consideravelmente a performance do computador.

Só que há um pequeno detalhe em relação aos celulares: estes não possuem discos rígidos!! Eles possuem memórias flash para guardar as informações, que são componentes totalmente eletrônicos. O que significa que não existe a movimentação da cabeça de leitura para pegar os dados….a velocidade de acesso a eles é constante, independente de onde estão, se sequenciais ou não.

E há também outro detalhe importantíssimo: esse tipo de memória (cartão de memória, pendrive, SSD) possui um limite de gravações! Atingido esse limite os dados podem ser perdidos. Claro que ele é grande o suficiente para que provavelmente você jogue fora a memória pois terá uma melhor do que porque ela deixou de funcionar. Mas é importante saber que esse limite existe! Não há limite para leituras.

Se isso não fosse o bastante, ainda entram outros 2 detalhes importantes:

  • o sistema de arquivos do Linux, que é o utilizado no Android, não sofre desse problema de fragmentação!! Tanto que não existem utilitários para desfragmentar um disco que utilize Linux.
  • o Android não permite acesso físico ao disco! Não há como um programa saber, por exemplo, onde na memória estão armazenados os dados. Então também não tem como movê-los para outro lugar.

Claro que cartões de memória externos normalmente não utilizem o sistema de arquivos do Linux, já que precisam ser lidos por computadores rodando outros sistemas operacionais. Então estão sim sujeitos a sofrerem de fragmentação. Mas por serem totalmente eletrônicos não sofrerão de nenhuma perda de performance.

Se o simples fato da aplicação não fazer o que promete (por ser impossível no Android, além de desnecessário), as permissões que ele solicitava também criavam várias pulgas atrás da orelha: ler o histórico do navegador, acessar os favoritos e acesso total à internet.

É ou não um caso de cara de pau extrema?