2011-05-11 88 views
20

我正在嘗試創建一個2047 MB​​ RAM的模擬器。 當我運行它,我得到這個錯誤:Android:未能分配內存

[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 

據我所知,降低數字將使其工作。但我寧願用更多的內存來支持它,所以我可以測試我正在開發的一款遊戲。我假設更多的RAM,它會跑得更快......

有沒有人有2047 MB​​的RAM在模擬器上?如果是這樣,怎麼樣?你使用了什麼設置?你在計算機上改變了什麼特別的東西嗎?

使用Windows 7 64位,更新到最新的android sdk。另外我有超過8g的ram可用。我有一個設備(摩托羅拉里程碑)可供測試,但由於它是基於網絡的遊戲,除了我的手機之外,我還需要至少一個其他客戶端(希望使用模擬器)才能運行。

+0

沒聽說。有2Gb RAM的Android設備,那麼製作這樣的模擬器有什麼意義呢? – Egor 2011-05-11 20:12:20

+0

正如我上面提到的,我試圖運行一個遊戲,我假設分配更多內存可以讓遊戲運行得更快(即渲染屏幕/如果2047mb的內存不合理,我不明白爲什麼開發者會首先允許它。 – f20k 2011-05-11 21:01:53

+0

你可以很容易地擺脫它檢查我的帖子 http://stackoverflow.com/a/14851626/1461730 – Furqan 2013-02-13 10:45:40

回答

18

解決運行更快的仿真器:

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

運行我的遊戲速度快了許多,堪比手機質量。

- 更新12年8月24日 -

我看到人們仍然來到這裏,並在此答案發表評論,我已經做了更多的研究這個問題。我向你介紹我的研究結果。

注意:這些測試在我的電腦上運行,您的計算機可能會有所不同。

  1. 運行一個Android 2.2(armeabi)仿真器與住宅 '器件RAM大小'= 2048將 失敗,就如同之前
  2. 運行帶有屬性 '器件RAM大小' 一個Android 2.2(armeabi)模擬器= 2048 MB將通過,但是如果您實際檢查設備上的RAM,其大約128 MB。
    • 檢查1:設置>應用程序>正在運行的服務 - 添加屏幕
    • 檢查2的底部,所有的數字:運行在亞行外殼下面的命令:cat /proc/meminfo/並注意MemTotal
  3. 運行Android 4。1(armeabi-V7)與住宅「器件RAM大小」模擬器= 2048將工作,但如果你真的檢查設備上的RAM及其周邊512 MB
    • 檢查1:設置>應用程序>運行選項卡 - 添加所有在屏幕底部的數字
    • 檢查2:運行在亞行外殼下面的命令:cat /proc/meminfo/並注意MemTotal
  4. 運行的是Android 4.1(armeabi-V7)仿真器屬性「設備RAM大小'= 2048 MB也可以工作,但相同的結果爲3

結論

添加「MB」在一些評論指出的下方可以允許啓動您的設備,但它不實際有2 GB的RAM。即使使用4.1仿真器,RAM大小也是512 MB。

建議

請使用用於測試的實際設備。

+7

實際上有兩個原因,發生了。 1.你沒有足夠的RAM在本地機器上分配給仿真器 2.你沒有把MB值寫入設備內存的值域中......如果你寫入512則會失敗512MB會起作用等 – grobartn 2012-02-10 20:46:38

+0

@grobartn 1. As我在開篇文章中說過,我有超過8 GB的內存(準確的說是12GB)。 2.您可以在硬件屬性中指定設備內存大小。說明中說整數是兆字節。即。 'MB'是不必要的 – f20k 2012-02-11 16:27:04

+0

解決了我的問題,到目前爲止,我遇到過很多情況下,日食或Android搞砸了,我不相信他們說的任何東西 – grobartn 2012-02-11 23:42:11

17

我也得到這個錯誤。使用RAM 512

+0

如果你正在尋找真正的仿真器支持與調試等,這是最好的方法 - 只是減少你的模擬器內存​​,它會停止崩潰。在我用4gb內存的macbook air上,它運行良好,內存設置爲1024,在我的戴爾筆記本電腦上運行win7,使用4gb內存 - 不得不將它降低到512 ... meh – AndrewPK 2012-04-19 22:33:48

2

我有同樣的問題,但之前我得到了問題,它要求我捕捉視頻源。我禁用了相機支持,我可以使用1024MB的RAM。使用Windows 64位Xoom(Android 3.0)。我希望這有助於任何有同樣問題的人。

1

我從AVD的啓動選項中更改了我的顯示器的DPI設置,並將其與我的顯示器的原始設置和當前設置同步化,並且適用於我。

13

將我的Android ADK工具升級到20(即使我有足夠的RAM)後,我也收到了此錯誤消息。 「設備內存大小」屬性沒有發生任何變化(不管是更高還是更低,還是使用「MB」)。

我的工作是在命令行運行模擬器並指定RAM數量(小於我的默認值);例如:

emulator -memory 512 -avd my_avd 
+0

這是我可以讓我的avd運行的唯一方法。謝謝 – Iraklis 2012-11-25 15:20:44

+0

2天后...唯一的解決方案...謝謝 – 2013-06-20 13:27:40

+0

正確.mine也是!!!! – UVM 2015-05-25 07:14:08

12

添加在運行配置窗口中的參數 -Memory 512

參考

Run Options

+0

它在512MB中工作嗎?因爲我們可以添加-memory 512? – hakiko 2013-01-31 23:03:24

5

解決方案見截圖的是,你去和編輯配置文件對於c盤中的用戶文件夾中的.android文件夾中的那個文件夾avd RAM = 1024 MB,而不是1024

問題是MB不存在...

1

我得到「無法分配內存:8」的錯誤爲好。我有W7-64bit和8GB的RAM。我發現通過以管理員身份運行AVD,錯誤消失,允許模擬器啓動。

2

編輯設備設置並將RAM分配更改爲較低的數字。如果是1024或更多,請將其降至512Mb或256Mb。 您可以在「編輯Android虛擬設備(AVD)」對話框的硬件部分更改它 - >設備的RAM大小

0

我安裝HAXM,並得到了錯誤:)

3

我有經過簡單的計算機重新啓動幫助我同樣的問題,但後來想通了。問題在於我爲虛擬機指定的內存量,默認情況下爲1024MB,現在我將其更改爲512MB並且它可以正常工作;雖然我的電腦有8GB的RAM。

0

我不得不這樣做是進入「工具 - > Android的 - > AVD管理器 - >之所以選擇設備 - >編輯 - >高級設置 - >更改參數RAM 512 MB的