web-dev-qa-db-fra.com

Android: échec de l'allocation de mémoire

J'essaie de créer un émulateur avec 2047 Mo de mémoire vive . Lorsque je l'exécute, le message d'erreur suivant s'affiche:

[2011-02-22 14:24:14 - Emulator]
[2011-02-22 14:24:14 - Emulator] This application has requested the Runtime to terminate it in an unusual way.
[2011-02-22 14:24:14 - Emulator] Please contact the application's support team for more information.
[2011-02-22 14:24:26 - Emulator] Failed to allocate memory: 8

Je comprends que réduire le nombre le fera fonctionner. Mais je préférerais l'avoir avec plus de bélier pour pouvoir tester un jeu que je développe. Je suppose qu'avec plus de bélier, cela irait plus vite ... 

Quelqu'un at-il 2047 Mo de RAM sur l'émulateur? Si c'est le cas, comment? Quels paramètres avez-vous utilisés? Avez-vous changé quelque chose de spécial sur votre ordinateur?

À l'aide de Windows 7 64 bits, mis à jour avec le dernier kit de développement Android. Aussi, j'ai plus de 8 Go de RAM disponible. J'ai un appareil (Motorola milestone) sur lequel tester, mais comme il s'agit d'un jeu basé sur un réseau, j'ai besoin d'au moins un autre client (espérant utiliser l'émulateur) pour pouvoir fonctionner en plus de mon téléphone.

20
f20k

Solution pour exécuter un émulateur plus rapide:

http://androiddevnotes.com/2011/03/08/1299521520000.html

Mon jeu est beaucoup plus rapide, comparable à la qualité du téléphone.

- Mise à jour du 24/08/12 -

Je vois que les gens viennent encore ici et commentent cette réponse, et j'ai fait plus de recherches sur cette question. Je vous présente les résultats de mes découvertes.

NOTE: Ces tests ont été exécutés sur mon ordinateur, votre ordinateur peut être différent.

  1. Exécuter un émulateur Android 2.2 (armeabi) avec la propriété 'Device ram size' = 2048 willfail, juste comme avant
  2. L'exécution d'un émulateur Android 2.2 (armeabi) avec la propriété 'Device ram size' = 2048 MB passera, cependant si vous vérifiez réellement le ram sur le périphérique, il est d'environ 128 Mo .
    • coche 1: Paramètres> Applications> Services en cours - ajoute tous les chiffres au bas de l'écran
    • check 2: exécutez la commande suivante dans adb Shell: cat /proc/meminfo/ et notez le champ MemTotal
  3. Exécuter un émulateur Android 4.1 (armeabi-v7) avec la propriété 'Device ram size' = 2048 fonctionnera, cependant si vous vérifiez réellement le ram sur le périphérique est d’environ 512 Mo
    • coche 1: Paramètres> Applications> onglet En cours d'exécution - ajoutez tous les chiffres au bas de l'écran
    • check 2: exécutez la commande suivante dans adb Shell: cat /proc/meminfo/ et notez le champ MemTotal
  4. L'exécution d'un émulateur Android 4.1 (armeabi-v7) avec la propriété 'Device ram size' = 2048 MB fonctionnera également, mais avec les mêmes résultats que 3.

Conclusion

Ajouter 'MB' comme indiqué dans certains des commentaires ci-dessous peut permettre le lancement de votre appareil, mais il ne dispose pas en fait de 2 Go de RAM. Même avec un émulateur 4.1, la taille de RAM est de 512 Mo.

Recommandation

Veuillez utiliser un appareil réel pour les tests.

19
f20k

J'ai aussi cette erreur. Utilisez RAM 512.

17

Je recevais également ce message d'erreur après la mise à niveau de mon outil ADK Android à 20 (même si ma mémoire RAM est largement suffisante). Aucune modification apportée à la propriété 'Taille du périphérique RAM' n'a aidé (qu'elle soit supérieure ou inférieure, ou avec "MB").

Ce qui a fonctionné pour moi est d’exécuter l’émulateur sur la ligne de commande et de spécifier le montant RAM à cet emplacement (inférieur à la valeur par défaut dans mon cas); par exemple:

emulator -memory 512 -avd my_avd
13
MotohawkSF

Ajoutez dans la fenêtre Run Configurations le paramètre -memory 512

Voir la capture d'écran pour référence

Run Options

12
vogash

La solution consiste à modifier le fichier de configuration de ce fichier perticuler avd dans le dossier .Android de votre dossier utilisateur dans le lecteur c Avec RAM = 1024MBau lieu de 1024

Le problème est que MB n'est pas là ... 

5
shridutt kothari

J'ai eu le même problème, mais ensuite compris. Le problème résidait dans la quantité de mémoire RAM que j'avais spécifiée pour la machine virtuelle, qui était par défaut de 1024 Mo. Maintenant, je l'ai remplacé par 512 Mo et cela fonctionne. Bien que mon PC a 8 Go de RAM.

3
Khobaib

Modifiez les paramètres du périphérique et modifiez l’allocation RAM en un nombre inférieur. S'il s'agissait de 1024 ou Plus, réduisez-le à 512 Mo ou 256 Mo . Vous pouvez le modifier dans la section Matériel -> Taille du RAM de la boîte de dialogue "Editer un périphérique virtuel Android (AVD)".

2
Ann

J'avais le même problème, mais avant de l'obtenir, il m'a demandé de capturer une source vidéo. J'ai désactivé le support de l'appareil photo et j'ai pu utiliser 1024 Mo de RAM. Sous Windows 64 bits, Xoom (Android 3.0). J'espère que cela aide pour tous ceux qui ont le même problème.

2
Barry Carter

Je devenais aussi "pas réussi à allouer de la mémoire: 8". J'ai W7-64bit et 8 Go de RAM. J'ai constaté qu'en exécutant AVD "en tant qu'administrateur", l'erreur disparaissait, permettant à l'émulateur de se lancer.

1
Prymaldark

J'ai modifié les paramètres DPI de mon moniteur à partir des options de lancement d'AVD et je l'ai synchronisé avec les paramètres d'origine et actuels de mon moniteur, et cela fonctionne pour moi.

1
Droid GEEK

Je devais le faire. Allez dans "Outils -> Android -> Gestionnaire AVD -> Choisissez votre appareil -> Édition -> Paramètres avancés -> Réglez le paramètre RAM sur 512 Mo.

0
Peter Isberg

Un simple redémarrage de l'ordinateur m'a aidé après avoir installé HAXM et obtenu cette erreur :)

0
Andriy F.