我想知道更多关于什么是vspace内存的信息。为android游戏加载lib时,vspace内存耗尽的情况经常发生,因为我们倾向于在应用程序启动时尽可能多地占用内存。我还没能找到任何关于它的信息。
下面是我得到的错误消息:
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内存模型的链接/信息也将不胜感激!
谢谢!
发布于 2013-08-06 04:53:36
vspace代表“虚拟地址空间”。
在32位系统中,它被限制为4 4GB,并且通常其中的1/4被保留给操作系统。程序二进制和动态加载的库需要与其他mmapped文件、用于内存分配的地址范围(堆)和线程堆栈一起放入地址空间。
发布于 2014-05-04 19:00:17
VSpace的概念就是操作系统中的虚拟空间。
你遇到这个问题,当你试图加载一个共享库时,开始显示一个视图?
系统在一些定制Rom中提供了VSpace管理.But,VSpace有时可能设置不正确。当我试图加载一个需要为位图同时占用大量内存的视图时,我在我的程序中遇到了加载共享库(系统或我的)的问题。我试图询问Rom系统工程师是否更改了VSpace设置,但他们的回答是什么都没有做。但我最终解决了这个问题。
如果你的问题和我的类似,.Follow的建议如下:
1)使用较小的png或jpg以减少内存使用
2)加载视图前加载所有共享库。
希望这能有所帮助。谢谢
https://stackoverflow.com/questions/4187696
复制相似问题