Comment accélérer le chargement de mon émulateur?

10

Je viens d'installer eclipse avec les outils pour développer des applications Android ce soir; donc je suis nouveau pour les deux. Quoi qu'il en soit, mon émulateur prend environ 5 minutes ou plus à charger à chaque fois et génère généralement des erreurs. Et il est toujours très grand, aussi grand que mon écran d'ordinateur portable, et environ la moitié de la largeur .. Une aide?

James Litewski
la source
1
Cela ne devrait-il pas être sur SO comme une question de développement?
newuser
2
Puisque la question concerne l'émulateur, il est sur la clôture, se penchant sur le sujet.
Daniel
@Daniel: Ceci est définitivement une question de développeur, et n'appartient pas ici, mais sur StackOverflow.com
Jonas
6
@Jonas Je ne dis cela que parce que j'ai déjà vu d'autres questions sur l'émulateur avec des arguments similaires: la réponse peut être la même pour un développeur et un utilisateur expérimenté. Aucune partie de sa question ne demande d'aide pour la programmation ou le code java. Maintenant, sur la base du commentaire OP sur ma réponse, il est assez évident qu'il est un développeur, mais un utilisateur non-développeur pourrait poser cette même question afin de tester Android avant d'acheter un appareil. Cette approche des questions de l'émulateur a été décidée avant de trouver ce site.
Daniel
Vous pourriez en fait faire un assez bon argument selon lequel ce n'est qu'un problème logiciel / matériel PC et appartient à SuperUser ...
GAThrawn

Réponses:

9

Si vous faites du développement dans Eclipse, vous n'avez pas besoin de désactiver l'émulateur. Si le bouton de débogage / exécution dans Eclipse est correctement configuré, Eclipse fermera l'instance actuelle de votre programme dans l'émulateur, installera votre nouveau programme dans l'émulateur et démarrera le programme sur l'émulateur en cours d'exécution - le tout sans redémarrer le émulateur.

Oui, le démarrage de l'émulateur prend encore 5 minutes, mais ce n'est pas si mal car vous ne démarrez l'émulateur qu'une fois par jour (et le démarrage d'Eclipse au début de la journée prend à peu près le même temps de toute façon).

Lie Ryan
la source
Merci, je n'y ai même pas pensé; mais cela a du sens.
James Litewski
Je suis un autre débutant pour Android Dev et Eclipse .. quand vous dites "Si le bouton de débogage / exécution dans Eclipse est correctement configuré ..." que voulez-vous dire? Je soupçonne que le mien n'est pas configuré correctement, car il redémarre l'émulateur à chaque fois. Merci
POUR le
J'ai trouvé la réponse à ma question de suivi ici: stackoverflow.com/questions/506777/… Laissant la trace à toute autre personne qui pourrait se demander la même chose.
POUR le
8

Lie Ryan souligne que lorsque vous démarrez l'émulateur, vous n'avez pas besoin de le fermer lorsque vous avez terminé de tester une version. Laissez-le ouvert et chaque fois que vous exécutez ou déboguez votre application, elle sera automatiquement rechargée et lancée.

Si vous rencontrez des problèmes avec la taille de l'émulateur, vous pouvez modifier les paramètres et lui faire afficher la taille réelle de l'appareil que vous essayez d'émuler. Cela peut être fait en ouvrant le "SDK Android et AVD Manager", sélectionnez l'AVD que vous souhaitez gérer et cliquez sur "Démarrer". Cela fera apparaître la boîte de dialogue à droite (dans la capture d'écran ci-dessous). Cochez la case "Ajuster l'affichage à la taille réelle", puis vous devez modifier le Screen Sizechamp et le champ "Moniteur dpi". La "taille de l'écran" sera la taille de l'écran de l'appareil que vous émulez et la "dpi du moniteur" sera liée au dpi de votre moniteur. Vous devrez peut-être jouer avec cela un peu car il m'a fallu quelques tentatives pour le faire correctement.

SDK et AVD Manager

J'espère que cela t'aides

Daniel
la source
Donc, je suppose que tout ce que j'ai à faire est de l'ouvrir à partir de là, puis de cliquer pour exécuter le programme une fois qu'il se charge?
James Litewski
@James Cela dépend de la façon dont vous avez votre projet "Run Configuration" / "Debug Configuration". S'ils sont définis sur manuel, vous serez invité à sélectionner un périphérique ou un émulateur en cours d'exécution ou à en lancer un nouveau. Si ce n'est pas manuel, vous devrez définir l'émulateur que vous exécutez par défaut afin qu'il y installe / exécute le programme.
Daniel
Pourquoi le downvote?
Daniel
5

Je pense qu'il n'y a rien à faire pour accélérer l'émulateur, c'est vraiment très lent.

Vous feriez mieux d'utiliser un véritable appareil pour les tests, si possible.

Nicolas Raoul
la source
Eh bien, un véritable appareil est loin de mon budget en ce moment .. Savez-vous au moins comment rendre l'émeu plus petit? C'est donc comme une taille d'appareil ordinaire?
James Litewski
Lancez la commande "android" (dans sdk / tools). Dans la boîte de dialogue "Android SDK and AVD Manager", il y a un bouton "Nouveau ..." pour créer une nouvelle machine. Une boîte de dialogue intitulée "Créer un nouveau périphérique virtuel Android" apparaît. Dans sa section "Skin", vous pouvez spécifier la résolution souhaitée.
Nicolas Raoul
3

Si vous utilisez une machine multicœur, vous pouvez essayer de forcer l'émulateur à utiliser plus de cœurs. L'émulateur Android utilise un seul cœur par défaut, et sur certains processeurs, il peut être très lent. Cependant, cela diminue la stabilité de l'émulateur.

Pour ce faire, lancez l'émulateur et appuyez sur Ctrl+Shift+Escpour ouvrir le Gestionnaire des tâches. Accédez à l' Processesonglet et cliquez avec le bouton droit sur le emulator.exeprocessus, sélectionnezSet Affinity et sélectionnez des cœurs supplémentaires. Notez que vous devez le faire chaque fois que vous lancez l'émulateur.

Je l'ai fait sur mon ancienne machine de développement (Q9650, Win2008, 8 Go de RAM DDR2 800 MHz) et cela a amélioré la vitesse un peu, mais s'est écrasé environ une fois par jour en moyenne.

onik
la source
3

En plus des autres excellentes réponses ici, c'est une sorte de réponse évidente.

Quoi qu'il en soit, j'ai pensé que je l'ajouterais à la liste ici. Si vous augmentez les spécifications matérielles sur l'ordinateur de développement sur lequel vous exécutez cela (plus particulièrement la vitesse de la broche RAM ou du disque dur), vous verrez une augmentation de la vitesse à laquelle l'émulateur démarre et s'exécute.

Mon ordinateur de développement avait 2 Go de DDR2667 et quand je suis passé à 4 Go de DDR800, j'ai eu une augmentation notable de la vitesse de démarrage et de fonctionnement de l'émulateur.

Mat Nadrofsky
la source
Boîte de développement?
James Litewski
Development Box = Un ordinateur acheté ou construit pour être utilisé spécifiquement pour le développement de logiciels. Cela ne signifie pas qu'il ne peut pas être utilisé pour autre chose, mais le développement est son objectif.
Daniel
Oups. Ouais je laisse geek-speek entrer dans celui-là. Édité!
Mat Nadrofsky
3

Il existe une fonctionnalité intégrée à l'émulateur, nommée Snapshot. Instantané, enregistre essentiellement une image de l'émulateur (dans son état actuel) lorsque vous le fermez. La prochaine fois, vous pourrez le démarrer au même endroit. L'émulateur démarrera presque immédiatement, car il n'a pas besoin de passer par le processus de démarrage. En utilisant Snapshot, je peux constamment démarrer mon émulateur en moins de 5 secondes (contre 60 à 90 secondes pour le démarrer sans).

Fondamentalement, lorsque vous créez l'AVD (créez votre image d'émulateur) - il y a une section intitulée: "Instantané". Assurez-vous que cette case est cochée ("activée"). Vous pouvez également revenir en arrière et modifier un AVD pour l'activer si vous l'avez manqué la première fois.

La prochaine fois que vous lancerez l'émulateur, les options "Instantané" seront activées. Sélectionnez "Lancer à partir d'un instantané" si vous souhaitez démarrer à partir d'une image enregistrée, puis sélectionnez "Enregistrer dans un instantané" pour enregistrer l'état dans lequel se trouve votre émulateur lorsque vous le fermez.

crotte de nez
la source