Por que o Android usa mais RAM que o iOS? Uma explicação técnica

Ao comparar dispositivos com iOS e Android da mesma categoria, uma coisa fica evidente: a diferença de quantidade de RAM utilizada. Por que o iOS parece consumir menos RAM que o Android?

Neste artigo, você encontrará uma explicação técnica (inclusive com documentação oficial do Android). Vamos fundo no sistema para compreender por que por questões de arquitetura de software, o Android consume mais RAM que o iOS.

Android é “fominha” de RAM?

Comparação de Uso de Memória em Aplicativos e Jogos

Não é apenas eu ou você que questionamos o motivo do Android consumir mais memória que o iOS. O site Android Authority, fez vários testes e concluiu que sim, é verdade, os aplicativos do Android consome mais RAM que o iOS.

Veja abaixo a conclusão deles.

Publicidade
Nome do App iOS (MB) Android (MB)
Play Store/App Store 235 217
Acrobat Reader 117 390
Booking.com 73 330
Gmail 190 259
Google Maps 224 300
YouTube 176 282
eBay 69 300
Google Photos 136 281
Twitter 100 366

 

Em jogos a coisa muda um pouco de figura. Em alguns jogos, a versão do Android precisa de mais RAM, mas em games muito complexos a coisa às vezes se inverte. No Geral, o iOS ainda ganha gastando em média 10% menos RAM do que o Android.

 

Game iOS (MB) Android (MB)
Subway Surfers 500 761
1945 Airforce 550 852
Candy Crush 219 289
Brawl Stars 572 507
Minecraft 462 803
Asphalt 9 749 803
Shadowgun Legends 1130 899
Elder Scrolls Blade 1030 952
Genshin Impact 1270 1400

 

Por que o Android precisa de mais RAM que iOS?

O Android precisa de mais RAM por que é um sistema mais flexível. Todo o sistema Android foi construído para que seus apps possam rodar com facilidade em uma grande variedade de dispositivos.

O Android utiliza bytecode, uma espécie de arquivo “pré-compilado” que é executado no Android através do ART (Android Runtime). Esse código é feito na linguagem Java ou Kotlin.

Já o iOS, utiliza código compilado “direto” ou seja “código de máquina”. O código compilado é mais rápido, permite um controle melhor de RAM, mas em contrapartida, funciona apenas nas arquiteturas para onde ele foi compilado.

Da mesma forma, jogos mais pesados, geralmente são compilados direto para “código de máquina” e não precisam de vários bibliotecas e outras coisas que são carregadas junto com o ART.

Contudo, no quesito dos apps, com essa facilidade de execução de compilar um app e ele funcionar em vários processadores diferentes, vem alguns contrapontos.

 

Gerenciamento de Memória: Android vs. iOS

Ambos os sistemas, Android e iOS, utilizam técnicas sofisticadas para gerenciar a memória RAM. Uma delas é a compressão de memória.

Enquanto o Android utiliza um “coletor de lixo” que gerencia a memória, o iOS utiliza algo parecido, mas que consegue gerenciar apps de maneira mais incisiva.,

Contudo, o iOS tem um trunfo, o compilador LLVM3. Com esse compilador e a linguagem Objetive-C  (ou Switft), é possível ter mais controle sobre a memória, isso inclui uma técnica de “Jettison” que consegue hibernar um app e trazê-lo “à vida” rapidamente sem precisar de arquivo de “paginação”, como acontece no Android.

Por “arquivo de paginação” entenda que estou falando do ZRAM, uma técnica de alocação de memória que busca criar um “arquivo de paginação virtual” dentro memória RAM. Esse arquivo não é gravado “em disco” como o Windows fazia antigamente, mas sim na memória RAM.

O “Z” de zRAM vem de zip, ou seja, compactar a memória RAM. O Android possui um sistema que vai automaticamente comprimindo os dados (termo certo é páginas) não usados e vai os alocando no zRAM. Quando um dado é necessário, o Android descompacta esse dado e traz à tona.

É por isso que não adianta ficar limpando a memória RAM do Android. O Android, assim como outros sistemas modernos, vai utilizar a memória não usada para criar arquivos da paginação virtuais para otimizar o sistema. É por isso que geralmente um dispositivo Android 8 GB de RAM tem 3 GB livre ou menos, um de 12 GB de RAM vai ter apenas 4 GB de livre ou menos. RAM é um recurso muito importante para ficar ocioso, e se o Sistema Android perceber que está livre em sem uso, ele vai utilizá-la no zRAM.

 

 

 

O iOS possui uma função muito parecida chamada apenas de “Compressão de Memória”. O iOS consegue comprimir blocos de memória não usados para liberar mais espaço em RAM de forma dinâmica.

Então por que o Android precisa de mais RAM? Justamente por conta do “bytecode” e do Android Run Time.

Toda essa compatibilidade do Android onde você desenvolve um app, e ele com nenhuma alteração vai funcionar em vários processadores, vem com um custo, e o o custo é maior consumo de RAM.

Como no iOS os apps em geral consomem menos RAM, por serem compilados, ao terem sua RAM comprimida, o saldo geral é mais positivo para iOS, pois a quantidade de memória RAM liberada é maior.

Conclusão

Conforme os aplicativos e necessidades dos clientes vão crescendo , a quantidade de memória RAM cresce nos dois sistemas. Embora o Android exija mais RAM, o iOS não fica para trás. Atualmente o iPhone 15 mais básico já vem de fábrica com 6 GB de RAM, enquanto o Galaxy S23 padrão vem com 8GB de RAM.

As fabricantes sabem que em média a pessoa tem cerca de 92 apps guardados no celular e que boa parte deles vai ficar ativada inutilmente. Cabe ao sistema gerenciar isso para torna os dispositivos o mais rápidos possíveis, gerenciando a memória RAM.

 

Leia também:

 

Com informações de Android Authority , Android.comApple.

    by
  • Redação

    Quer colaborar? Envie sua dica para o e-mail: [email protected] Não se preocupe, não precisa ser um expert,basta ser apaixonado pelo assunto. Que assunto? Os nossos amados jogos para celular.

Google News