O emulador do Android é um pouco lento. Para alguns dispositivos, como o Motorola Droid e o Nexus One, o aplicativo é executado mais rapidamente no dispositivo real do que o emulador. Este é um problema ao testar jogos e efeitos visuais.
Como você faz o emulador funcionar o mais rápido possível? Eu estive brincando com seus parâmetros, mas ainda não encontrei uma configuração que mostre uma melhoria notável.
Respostas:
Página oficial
~ 50% mais rápido
Janelas:
Vá para a pasta raiz do Android SDK e navegue para extras \ intel \ Hardware_Accelerated_Execution_Manager. Execute o arquivo IntelHaxm.exe para instalar. (no Android Studio, você pode navegar para: Configurações -> SDK do Android -> Ferramentas do SDK -> Acelerador do emulador Intel x86 (instalador HAXM))
Criar AVD com CPU / ABI "Intel atom x86"
Também não se esqueça de instalar este
PS durante a criação do AVD adiciona memória de emulação: Hardware / Novo / Tamanho da ram do dispositivo / valor de configuração 512 ou mais
Linux:
PS Para Fedora , para Ubuntu
OS-X:
PS: Confira esta ferramenta, muito conveniente, mesmo julgamento
fonte
/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.dmg
depois de baixar o pacote do gerenciador do SDK.^(?!.*(nativeGetEnabledTags)).*$
como o filtro de texto. Eu relatei isso como um problema de bug . Além disso, acho que você precisa desligar corretamente o dispositivo emulador (mantenha pressionado o botão liga / desliga e selecione Desligar ) para evitar erros ao iniciá-lo da próxima vez (eu poderia fechar o emulador ARM, mas com o emulador Intel, apenas fechar parece criar problemas).ATUALIZAÇÃO: Agora que uma imagem Intel x86 está disponível, a melhor resposta é pelo zest acima.
Como o CommonsWare apontou corretamente, o emulador é lento porque emula uma CPU ARM, que requer tradução para os códigos de operação da Intel. Essa virtualização mastiga a CPU.
Para tornar o emulador mais rápido, você precisa fornecer mais CPU. Comece com uma CPU rápida ou atualize, se puder.
Em seguida, dê ao emulador mais CPU que você possui:
Estou vendo algo em torno de uma melhoria de 50% com essas duas alterações.
Para definir a afinidade do processador no Windows 7:
Nota: Quando você altera a afinidade dessa maneira, ela é alterada apenas durante a vida útil do processo. No próximo começo, você deve fazer isso novamente.
fonte
Eu gostaria de sugerir dar uma volta ao Genymotion . Ele roda no VirtualBox da Oracle e atinge legitimamente 60 fps em um sistema moderado.
Aqui está uma captura de tela de uma das minhas oficinas, rodando em um modelo MacBook Air de gama baixa de 2012:
Se você não consegue ler o texto, é um emulador do Nexus 7 rodando a 56,6 fps. O bônus adicional (grande!) É que o Google Play e o Google Play Services são fornecidos com as máquinas virtuais.
(A fonte da animação demonstrada pode ser encontrada aqui .)
fonte
Ative a aceleração de hardware da GPU (além do HAXM da Intel), se você estiver usando a API 15 v3 ou mais recente e o SDK Tools v17 +. A aceleração gráfica do emulador aproveita o hardware gráfico do computador de desenvolvimento, especificamente sua unidade de processamento gráfico (GPU), para acelerar o desenho da tela. Isso dá um aumento notável na velocidade.
Para ativar a aceleração gráfica ativada por padrão no seu emulador : ao criar o AVD, na seção Hardware, clique em Novo, selecione emulação de GPU e defina o valor como Sim.
Para habilitar a aceleração apenas em tempo de execução : use o sinalizador -gpu ao iniciar o emulador como este:
Fonte: Tutorial do Google Usando o emulador .
fonte
Editar Embora o uso das imagens da Intel obtenha alguns ganhos de desempenho, o desempenho obtido com o Genymotion é muito maior. Veja a resposta de Paul Lammertsma .
Resposta Anterior
Com o ADT rev 17, o emulador suporta a execução de imagens do sistema x86 no modo de virtualização no Windows e no Mac OS X. Isso tem um impacto notável no desempenho.
ADT rev 17 notes: http://android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html
Configurando a aceleração de máquina virtual: http://developer.android.com/guide/developing/devices/emulator.html#accel-vm
fonte
Recentemente, mudei de um Core 2 @ 2.5 com 3 GB de RAM para um i7 @ 1.73 com 8 GB de RAM (ambos os sistemas executaram o Ubuntu 10.10) e o emulador é executado pelo menos duas vezes mais rápido agora. Jogar mais hardware certamente ajuda.
fonte
Só queria dizer que depois de instalar o acelerador Intel HAXM e usar a imagem Intel Atom, o emulador parece funcionar 50 vezes mais rápido. A diferença é incrível, confira!
http://www.developer.com/ws/android/development-tools/haxm-speeds-up-the-android-emulator.html
fonte
Percebi que o emulador padrão é apenas o Core 0, onde a maioria dos aplicativos do Windows assumirá o padrão de "qualquer" núcleo. Além disso, se você colocá-lo em outro núcleo (como o último), isso pode fazer o emulador ficar louco. Se puder, tente colocar os aplicativos de uso pesado da CPU nos outros núcleos da CPU para aumentar a velocidade.
Em termos de hardware, obtenha a CPU mais rápida possível para os aplicativos de núcleo único. Mais de 2 núcleos podem não ter uma grande diferença em termos de desempenho do emulador.
Eclipse + o emulador do Android consomem uma tonelada de RAM. Eu recomendaria 3 GB de RAM pelo menos porque usei um sistema com 2 GB de RAM e diminuiu a velocidade porque o sistema ficou sem RAM e começou a usar o arquivo de paginação.
Eu sinto que as melhores CPUs para ele provavelmente terão um relógio alto (use apenas o relógio como uma medida para CPUs da mesma série btw), lidem bem com operações não SIMD e tenham um mecanismo de aumento de turbo. Não há muitos benchmarks baseados em Java, mas, em geral, procuram benchmarks de aplicativos como compressão e escritório. Não olhe para jogos ou mídia, pois esses são bastante afetados pelo SIMD. Se você encontrar um Java, melhor ainda.
fonte
Neste ano, o Google I / O (2011), o Google demonstrou um emulador mais rápido. O problema não está no código de bytes entre o ARM e no x86, mas na renderização do software realizada pelo QEMU. Eles ignoram a renderização do QEMU e enviam a renderização diretamente para um servidor X que eu acredito. Eles mostraram um jogo de carro com desempenho e fps realmente bons.
Gostaria de saber quando isso estará disponível para os desenvolvedores ...
fonte
O Google anunciou recentemente um novo emulador para Android. É muito mais rápido e melhor que o antigo. Você pode encontrar mais informações sobre isso aqui .
fonte
Eu acho que é porque a máquina virtual clr usa cpu diretamente sem tradução de código opcode. Pode ser uma otimização para o aplicativo clr ou pode ser o Windows Mobile / Windows Phone 7 iniciado no processador INTEL. Plataforma Android baseada em Linux e, teoricamente, você pode iniciar o Android na máquina virtual no ambiente i686. Nesse caso, máquinas virtuais como vmware podem executar alguns códigos de operação diretamente. Mas essa opção será permitida apenas se você escrever no Java. Como o Java interpreta o código de byte ou pré-compila antes da execução. consulte: http://www.taranfx.com/how-to-run-google-android-in-virtualbox-vmware-on-netbooks
fonte
Obrigado @zest! Funcionou como um encanto. Algumas coisas a observar: É necessário aplicar o hotfix da Intel para o HAXM para lidar com o problema de pânico do kernel: http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager Além disso, observe , se você tiver mais de um abi, precisará desinstalá-lo devido a um erro na versão mais recente da API do Android (r19): https://code.google.com/p/android/issues/detail?id= 66740 (remova armeabi-v7a nesse caso, pois você deseja o x86 abi). Além dos 45 minutos que levei para resolvê-los, foi um exercício muito gratificante em termos do desempenho aprimorado do emulador.
fonte
Você também pode experimentar o Emulador do Visual Studio para Android , que também pode ser instalado como um emulador independente (não é necessário o Visual Studio). Observe que ele pode ser instalado apenas em sistemas Windows Pro ou superior.
fonte
Use Genymotion em vez de emulador. Genymotion tem melhor desempenho https://www.genymotion.com
fonte
escolha um emulador de baixa resolução (por exemplo: Nexus S) se você não tiver uma boa placa gráfica (como eu)
fonte
Estou usando o CPU / ABI da Intel (86). Criei outro emulador usando o ARM (armeabi-v7a) e encontrei uma melhora bastante na velocidade. Estou usando a plataforma 4.1.2 API nível 16
fonte
Eu espero que isso te ajude.
Goto to your BIOS settings. Enable your Virtualization technology in your settings..
Resolveu o meu problema ...
fonte
Atualize seu Android Studio atual para o Android Studio 2.0 E também atualize as imagens do sistema.
O emulador do Android Studio 2.0 é executado ~ 3x mais rápido que o emulador anterior do Android e, com os aprimoramentos do ADB, agora você pode enviar aplicativos e dados 10 vezes mais rápido para o emulador do que para um dispositivo físico. Como um dispositivo físico, o emulador oficial do Android também inclui o Google Play Services, para que você possa testar mais funcionalidades da API. Finalmente, o novo emulador possui novos e avançados recursos para gerenciar chamadas, bateria, rede, GPS e muito mais.
fonte