メモリの割り当てに失敗しました:8


369

今日から、2.3.3 AndroidプラットフォームのNetBeansでアプリを実行しようとすると、次のことがわかります。

メモリの割り当てに失敗しました:8

このアプリケーションは、異常な方法でランタイムを終了するようランタイムに要求しました。詳細については、アプリケーションのサポートチームにお問い合わせください。

エミュレータが起動したくない。

これは初めて見たときであり、googleにはこれに対するアクセス権がありません。NetBeans6.9.1と7.0.1の2つのバージョンを試しても、同じエラーが発生しました。


3
なぜNetBeansとEclipseを使用しているのか気になるところです。私は他のもの(つまりphp)にNetBeansを使用していますが、Androidのものにeclipseを使用する方が簡単であることがわかりました。日食より優れている点は何だと思いますか?
SBerg413 2011

3
私はこれまでEclipseを使用したことがなかったのですが、理由はわかりません。理由は、GUIとNetBeansの比較でさえも複雑ですが、今のところダウンロードしようとしているのですが、問題が解決したら、それだけでAndroidのもの。
デニー

47
うわー、そのコメントはコンマ虐殺でした。とにかく、AVDが適切な量のRAMを使用していることを確認してください(つまり、実行には十分ですが、コンピューターが処理できる以上のRAMはありません)。これは、仮想デバイスを作成するときに設定されます。
Glendon Trullinger、2011

2
参考までに、16 GBのRAMを搭載したCore i7を使用していますが、AVDにRAMを最大化してありますが、残念ながらそれらはすべて遅延します:/
Jack

1
Windows 8 64ビットマシンでIntel Core i7プロセッサーを実行しています。このAVD(Nexus 7)を実行するには、RAM設定を512MBに変更する必要がありました。
IgorGanapolsky 2013

回答:


373

私はそれを考え出した。問題は、仮想マシンに指定したRAMの量にありました。それは1024MBでしたが、現在512MBあり、問題ありません。このRAMの量を改善する方法を見つける必要があります。512はそれほど多くありません。マシンは少し遅れています。


20
これについても同じ問題があります。私のマシンには8 GBのRAMがあり、6 GBは空いていて、Androidエミュレーターは1 GBを割り当てることができないと教えてくれますか?
Strozykowski

5
私にも8 GBのRAMがありますが、SDKでは512を超えては使用できないと言われています:)
デニース

5
追加するもう1つの修正。RAMを低い値に設定しても機能しない場合があります。その場合は、コマンドラインからエミュレーターを起動してみてくださいemulator-x86 -avd <your_avd_name>
Mykhailo Gaidai '20 / 07/20

14
ちょうど解決策を得た:AVD解像度を強制的に指定する必要がある:800
x1280

4
この問題はhw.ramSize、config.ini(Device Ram SizeGUIのハードウェアリストにある)に1024の値を追加するすべてのディスプレイスキンから発生します。値が小さい「スキン」を選択するか、手動解像度を使用して、この行をハードウェアリストから削除してください。スキンが選択されている場合は削除できません。
RedGlyph

61

参照すると、アンドロイド:メモリの割り当てに失敗しました「1024メガバイト」に「1024」に変化し、受け入れ答えの下にその最初のコメントは私を助けました。哀れですが、機能します。


29
「MB」はエミュレーターによって認識されず、デフォルトの256 MB値を使用するように強制します。あなたが指定する量はあなたが得るものではないことに注意してください!
RedGlyph

1
[アプリ]の[実行]を見ると、メモリの合計量が約240 MBと表示されているため、256 MBに戻っているように見えます。
jishi 2012年

実行構成ウィンドウにパラメータ
GatesReign

43

私の場合:

  • 組み込みのWXGA720を使用して720pデバイスをシミュレートすると、常にこのエラーが発生する
  • AVD解像度手動で 720 x 1280に設定し、私のために働く

お役に立てば幸いです


ここでは同様に、7"のデフォルトはWXGA800は失敗し、800×1280作品を設定する。
xandy

30

代わりに512 Mbで動作します。上記の方法はどれも私にはうまくいきません。


RAMサイズを1024 Mibから768 Mibに減らすと、「メモリの割り当てに失敗しました:8」というエラーが表示されなくなりました。
curd0

それらの多くは、512 MBのサイズを修正するように同じことを言っていますが、まったく機能しませんでした
Steve

30

あなたがここや他の場所で読む他のすべては純粋な推測です。この問題を修正する唯一の確実な方法は、このバグレポートに投票することです

この問題は、エミュレータの解像度やOpenGLや、コンピュータに搭載されているメモリの量には関係ありません。私のコンピューターには24 GBのメモリがあり、ほとんどの場合、hw.ramSize=1024エラー8が発生します。それ以外の場合は、構成を変更しなくても問題なく動作します。私はあなたがそれをキャッチしたことを望みます:私はエミュレーター構成をまったく変更しませんでした、それでも時々それは走り、時々それは失敗します。

メモリの断片化と関係がある可能性が高いです。hw.ramSize一時的な回避策として、の値を減らすことをお勧めします。


2
すべての点で、あなたの答えも純粋な推測です。私にとっては、仮想RAMが2048に設定されているエミュレートされたデバイスを実行しても問題ありません(それ以上は試しませんでした)。ただし、これらのデバイスは、リモートデスクトップからマシンにアクセスした場合にのみ実行されます。したがって、私にとっては、それは確かにグラフィックの問題であり、メモリの断片化の問題ではありません。ローカルとリモートの間でセッションを行き来することで、これを確実に証明できます。同じセッション、AVDマネージャーの同じインスタンス、1つのシナリオでひどいNVIDIAカードとそのうっとりするようなドライバーはありません。(しかし、それは別のスレッドの怒りです)。
s.co.tt 2013年

「RAMの断片化」であれば、ばかげていない「RAMの断片化解消」プログラムの1つを使用してテストすることができるでしょう。
ユーザー

17

これには千の異なる修正があるようです...上記のどれも私にとってはうまくいきませんでしたが、うまくいったのはコマンドラインからAVDを起動することでしたemulator-arm.exe @ AVD-NAME

どういうわけか、emulator.exeだけで起動した場合、Eclipse経由で起動しようとした場合と同じエラーメッセージが表示されます。


私と同じ問題があるかもしれません。DLLファイルは、エミュレータをある場所から起動したときに読み込まれます。別の場所から起動した場合は読み込まれません。
mjaggard 2012年

14

この問題の解決策は、アプリケーションを通常モードで実行したときのEclipseのメモリ割り当てに由来することに気付きました。Eclipseのショートカットプロパティの下にある[管理者として実行]ボックスをオンにしただけで、AVDにより多くのメモリを割り当てることができます。

お役に立てば幸いです。


13

デバイスの画面サイズを変更することで、この問題を解決しました。

1024 mb ramを指定する場合は、デバイスの画面サイズをhdpiのみで指定する必要があります。512mb ramの場合は、mdpiまたはその他の値にする必要があります。

したがって、RAMサイズは画面サイズに応じて指定する必要があると明確に言えます。mdpiでデバイスの画面サイズを維持したまま1024のRAMサイズを指定すると、上記のエラー、つまり「メモリの割り当てに失敗しました:8このアプリケーションがランタイムに異常な方法で終了するように要求しました。

詳細については、アプリケーションのサポートチームにお問い合わせください。」

または

次のようにAVDマネージャーでオプションを作成します。

[2013-01-11 14:44:01-SDK Manager] hw.sensors.orientation = yes

[2013-01-11 14:44:01-SDKマネージャ] hw.camera.front = none

[2013-01-11 14:44:01-SDK Manager] hw.gps = yes

[2013-01-11 14:44:01-SDKマネージャー] skin.dynamic = no

[2013-01-11 14:44:01-SDK Manager] hw.keyboard = no

[2013-01-11 14:44:01-SDK Manager] vm.heapSize = 32

[2013-01-11 14:44:01-SDK Manager] hw.ramSize = 343


これは機能しました:[2015-07-23 12:54:59-SDK Manager] disk.dataPartition.size = 500M [2015-07-23 12:54:59-SDK Manager] hw.gpu.enabled = yes [2015- 07-23 12:54:59-SDKマネージャー] hw.audioInput = yes [2015-07-23 12:54:59-SDKマネージャー] hw.sensors.orientation = yes [2015-07-23 12:54:59 -SDK Manager] hw.camera.front = none [2015-07-23 12:54:59-SDK Manager] hw.gps = yes [2015-07-23 12:54:59-SDK Manager] skin.dynamic =いいえ[2015-07-23 12:54:59-SDK Manager] hw.keyboard = yes [2015-07-23 12:54:59-SDK Manager] vm.heapSize = 32 [2015-07-23 12:54 :59-SDK Manager] hw.ramSize = 512
user914425

6

このスレッドで言及されている他のすべての解決策を試しても、機能しているものは見つからなかったので、少し試しました。APIのGoogleバージョンが何らかの理由で失敗しました。私はそれをバニラに戻し、もうクラッシュしません。

私は他の問題を抱えている必要がありますが、多分これは誰かを助けるでしょう...


奇数。バニラバージョンに設定されましたが、Google APIに切り替えると解決しました。とにかくアイデアの+1!
ポール・

6

公式問題33930をご覧ください。エミュレータ起動時のOpenGLの起動に関係している可能性があると指摘されています。WXGA800スキンを使用して手動で解像度を800x1280に設定するよう提案した場合にのみクラッシュする、と書いた人もいます。

さらに、Android SDKをバージョン19に、plattform-toolsをバージョン11に手動でダウングレードするために提供されているZIPファイルがあります。これは、問題を一時的に解決するのにも役立ちます。


これは私の問題に関連している可能性があります。DLLファイルは、エミュレータをある場所から起動したときに読み込まれます。別の場所から起動した場合は読み込まれません。
mjaggard 2012年

それ以上のものがあるに違いありません。最初にWXGA800に設定し、次に1280x800の手動解像度に変更すると、AVDがクラッシュします。hw.ramSize=1024問題を解決するだけで問題が解決します(WXGAが選択されている場合は実行できません。手動の解像度設定を使用する必要があります)。
RedGlyph 2012年

5

私のマシンには16 GBと3.4 Ghzクアッドコアプロセッサがあります。仮想マシンでは、1024でも実行できません。同じメッセージで880で失敗したため、878MBまで増やしました。これは、エミュレータに割り当てることができる最も多くのRAMのようです。まだ遅いですが、512MBよりも良いと思います。


5

モニターのDPI設定をAVDの起動オプションから変更し、モニターの元の現在の設定と同期しましたが、うまくいきました。



3

同じ問題がありましたが、問題が発生する前に、ビデオソースをキャプチャするように求められました。

カメラのサポートを無効にして使用することができました1024MB of RAM

Windowsの使用64bit, Xoom (Android 3.0)



3

問題はメモリの断片化にあります。OSは、vmに指定したすべてのRAM(たとえば1Gb)を1つの連続したブロックとして割り当てる必要があります。時々そのようなブロックはありません。それを修正するには、実行中のプログラムを閉じてから、avdを実行して仮想マシンを起動します。


2

私にとってWindowsでうまくいったのは:

1)Eclipseを閉じる2)Avd UIを実行する3)実行中のすべてのプロセス、特にChrome、explorer.exeなどのメモリが重いプロセスを閉じる4)エミュレーターを起動する5)Win


2

IntelHAXMが正しくインストールされていることを確認してください。SDK Managerからダウンロードして「インストール」するだけでは不十分です。次の場所から手動でインストールする必要があります。

android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

また、BIOSでIntel Virtual Technologyが有効になっていることを確認してください。

developer.android.comのガイドまたはIntelのインストール手順に従ってください。



1

私はそれが私がうまく働いたものの残りのすべての1つだけに関連していることに気づきました。私はそれを削除し、新しいものを作成しましたが、今は動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.