Casa > C > Como Se Diz Que O Java É Independente Da Plataforma, Então Por Que Não Podemos Executá-Lo Diretamente Nos Dispositivos Android?

Como se diz que o Java é independente da plataforma, então por que não podemos executá-lo diretamente nos dispositivos Android?

Obviamente podemos executar programas escritos em Java no Android, mas não diretamente. Antes do lançamento do "Kotlin" a linguagem oficial para o desenvolvimento do Android , o Java era amplamente utilizado para desenvolver aplicações andróides e mesmo agora continua a ser utilizado.

O procedimento padrão para executar um programa Java é este

main-qimg-bb735dc55f24e7025b1643b936dd0c89.webp

O ficheiro ".java" é convertido em ficheiro executável ".class" pelo compilador java e o ficheiro class gerado é independente de qualquer SO, ou seja, pode correr em qualquer SO. Para executar este arquivo de classe você precisa de JVM que é específico para OS.

>p>No Android o cenário é ligeiramente diferentemain-qimg-2e0e9feb9602856f281e5c0446fe47a3.webp

No Android nós usamos DVM(Dalvik Virtual Machine) ao invés de JVM(Java Virual Machine)beacuse:-

  1. JVM foi projetado para Java, mantendo em mente as aplicações Desktop. A maior diferença entre Desktop, e móvel é que os celulares têm quantidade muito limitada de memória (RAM) e menos velocidade de CPU em comparação com desktops e laptops. JVM é muito pesada e requer muita RAM e velocidade da CPU para executar um programa. Uma vez que os celulares podem ' não se pode permitir tanta RAM e CPU, o Android precisa de uma versão mais otimizada e leve da JVM. A DVM foi criada para substituir a JVM. O DVM é destinado a dispositivos embutidos que têm menos memória RAM e velocidade da CPU.
  2. O JVM é lento porque é baseado em pilha e o DVM é baseado em registro.

P>Dizemos que um aplicativo andróide precisa de quatro arquivos ".class" para ser executado. Esses arquivos de classe são passados pelo compilador DX que combina todos esses arquivos de classe e gera um arquivo "classes.dex" após anexar os pacotes necessários. Este DEX pode ser entendido pela Máquina Virtual Dalvik.

De Shama Thuotte

Como consertar meu computador :: Existe algum aplicativo ou software pelo qual possamos mudar a nossa voz para a voz de outra pessoa?