2010-11-15 43 views
2

我想更多地瞭解什麼是vspace內存。爲我們的Android遊戲加載lib時耗盡vspace內存經常會發生,因爲我們傾向於在應用程序啓動時儘可能多地使用內存。我一直無法找到任何有關它的信息。Android「vspace」內存?

Here`s錯誤消息我得到:

11-11 16:00:57.057: ERROR/libEGL(946): load_driver(/system/lib/egl/libEGL_adreno200.so): Cannot load library: alloc_mem_region[847]: OOPS: 64 cannot map library 'libEGL_adreno200.so'. **no vspace available**. 

究竟是VSPACE記憶?

關於android/linux內存模型的一些鏈接/信息也將不勝感激!

謝謝!

+2

'我們傾向於採取儘可能多的內存,聽起來像你做錯了。這是一個嵌入式設備。 – Falmarri 2010-11-15 18:46:31

+0

@falmarri這樣做是因爲我們正在使用一個移植層,而大的分配是渲染內存分配相同的跨平臺/設備(幫助解決碎片問題)。 – gtd 2010-11-15 20:58:18

+0

@commonsware這是我的問題真的:)我會更新錯誤消息我得到 – gtd 2010-11-15 20:59:15

回答

0

vspace代表「virtual [address] space」。

在32位系統中,它限制爲4GB,並且通常爲操作系統預留1/4。 程序二進制和動態加載的庫需要適合地址空間以及其他mmapped文件,用於內存分配(堆)和線程堆棧的地址範圍。

0

VSpace的概念就是OS中的虛擬空間。

當您在開始顯示視圖時嘗試加載共享庫時遇到此問題?

系統提供一些定製Rom中的V形空間的管理。但是, VSPACE有時可能無法正確set.I滿足我的程序問題 加載共享庫(系統或地雷),當我嘗試加載查看哪個 需要malloc同時有很多內存用於位圖。我試着詢問 Rom系統工程師是否已經改變了VSpace設置,但他們的 答案是沒有做任何事情。但我最終解決了這個問題。

如果礦。遵循以下的建議,你的問題是相似的:

1)使用較小的PNG或JPG內存少使用

2)裝載時的裝載之前的所有共享庫的視圖。

希望得到這個幫助。謝謝