Por que o Android não atualiza todos os telefones que rodam Android quando a Apple atualiza todos os dispositivos para as versões atuais?
Por causa da fragmentação.
Desde que o Android é rotulado como código aberto (Android Open Source Project - AOSP), existem muitos telefones que vêm com o Android como seu software.
Por que é que então?
P>P>Pois, let's think about anything can be shown here:
Desde que o primeiro telefone Android saiu para a comunidade tecnológica, houve vários telefones Android lançados. Até agora, cerca de 90% dos smartphones no mundo estão rodando Android.
"That's muitos tipos de telefones então". - pode dizer, por agora. That's relativamente o que's acontecendo com o Android.
Enquanto a Apple só tem a necessidade de lançar cada geração de iPhone e iPad uma vez por ano, poderia ser mostrado que os telefones Android estão saindo a qualquer momento que eles podem ser.
Então cada vez que há uma nova geração de iPhone saindo para os usuários finais, deixe's dizer isso's uma adição, então os telefones Android podem sair ao mesmo tempo, mas vai como multiplicação.
Apenas precisam ganhar dinheiro com o seu software, sempre que vendem o seu iPhone, e torná-lo compatível com o seu software iOS, os telefones Android ainda não estão prontos para isso.
Como o resultado de muitos Android saindo, há muitas especificações diferentes sendo usadas em telefones Android. Cada telefone é variado com hardwares diferentes, então eles precisam de softwares diferentes para funcionar com os telefones.
Vocês sabem que o Android funciona sendo baseado em Linux, ou I'diria que o Android é na verdade uma distro Linux, então devemos ir fazer softwares para telefones Android, assim como qualquer distro Linux faria.
As distros Linux têm que ser instaladas com um kernel Linux. E para isso, o kernel do Android deve ser sincronizado com qualquer versão do kernel do Linux que saia. O Google faz isso, e o torna atualizado e personalizado para o kernel do Android, de código aberto, para fazer o kernel do Linux funcionar com o Android, software e hardware.
Todos os smartphones precisam pelo menos destas especificações para serem um smartphone:
- Placa-mãe móvel>li>Chipset móvel (CPU/SoC)li>li>Screenli>li>Bateriali>Armazenamento (Interno/Externo)li>li>RAMli>Radio (antena de rede móvel, Rádio FM)>li>Camera (Front/Back/Flashlight (se houver uma)>li>li>Microfoneli>li>Speakerli>Sensores (compassity)li>li>Software compability
Por isso, qualquer telefone Android deve ser feito com isto.
P>Desde que a interface do Android é feita com o fonte AOSP, só precisamos de a forkar primeiro a partir do fonte, e para isso, haven't cometeu qualquer alteração na interface.
Então agora, quanto à construção do kernel, precisamos de personalizar o kernel do Android para pelo menos 12 coisas no topo, e algumas partes diversas (tais como sensor de impressões digitais, sensor de reconhecimento facial), para qualquer um dos hardwares com que construímos o seu telefone.
Or talvez vá apenas fork-los a partir de fontes abertas novamente, mas lembre-se com certeza, para torná-los compatíveis uns com os outros bem.
Agora, apenas assuma que esses trabalhos são feitos. Como OEMs/ODMs, precisamos mudar nossa IU, a fim de fazer com que os usuários finais reconheçam um telefone dos outros. Pelo menos mudanças com frameworks e IU para lançador e aplicativos como esse precisam ser feitas.
Phones já vão sair, mas precisam testar com a compabilidade do software. Então as bibliotecas no software Android podem precisar de mudanças realmente novas para ele, pela última vez. Caso contrário, os softwares Android nesses telefones prefeririam ir profundamente em FCs (force closes).
Então, depois de todas essas mudanças difíceis, como os desenvolvedores de software Android OEMs/ODMs vão ser pagos? Não é provável que qualquer telefone que saia seja bom em seus pontos vendidos, ao contrário da Apple can.
Então, se o telefone não é bem conhecido ou o preço deles é muito barato? Bem, considere que esses telefones dificilmente teriam atualizações para eles, para não dizer como os telefones são atualizados de propósito.
Os telefones Android são tantos, que os usuários finais comprariam um telefone Android, ao invés de outro. Portanto, é bastante competitivo para OEMs/ODMs fazer seus telefones vendidos, com um bom preço, para desenvolver continuamente o software Android. Consumidores com um orçamento quereriam um mais barato com especificações mais altas, mas não se preocupam muito com atualizações de software, por isso é provável que os telefones mais baratos recebam menos atualizações por conta própria.
ou talvez, os usuários Android iriam querer atualizações para seus telefones, mas alguns telefones têm seus OEMs feitos "caseiros' chipsets por conta própria, como Samsung com Exynos, e Huawei com Kirin, ou mesmo Asus Zenfone de primeira geração, com Intel Atom instalado (Este Intel Atom vai até com sua própria arquitetura - x86). Isso'é uma história diferente, então. Leve mais tempo para desenvolver softwares para esses telefones.
Sem mencionar que o Android precisaria ter todos os seus frameworks alterados após essas grandes atualizações, como do Nougat para o Oreo. Ainda é preciso reescrever tudo do zero. Pelo menos o Google corrigiu isso, dando um projeto apropriado, conhecido como "Project Treble", a partir de dispositivos rodando com o Android 8.1 Oreo ou superior, para que os desenvolvedores tivessem menos para codificar, implementando o Android em hardwares (smartphones Android).
Apple wouldn'não teria que sofrer lidando com quase todos esses fatores, para que's porque eles podem atualizar todos os seus telefones de uma só vez.
Artigos semelhantes
- Como encontrar jogos com tendências atuais e palavras-chave atuais para jogos móveis (tanto Playstore como iOS)
- As versões para PC dos jogos são melhores do que as versões para console? Quais são as diferenças entre as duas?
- Por que o Google não fez o seu próprio chipset para telefones Pixel como a Apple fez para o iPhone 7 (e versões anteriores)?
- Quando eu forço a parar um aplicativo Android, todas as permissões dos aplicativos ainda rodam em segundo plano?