开发者

Android "vspace" memory?

I'd like to know a bit more about what is the vspace memory exactly. Running out of vspace memory when loading a lib for our android games often occurs as we tend to take as much ram as we can at the application startup. I haven't been able to find any information about it.

Here`s the error message I get:

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**.

What exactly is vspace memor开发者_如何转开发y?

Some links / info about android / linux memory model would be appreciated too!

Thanks!


vspace stands for "virtual [address] space".

In 32bit systems it is limited to 4GB, and often 1/4 of it is reserved for the OS. Program binary and dynamically loaded libraries need to fit in the address space together with other mmapped files, address range used for memory allocations (heap) and threads' stacks.


The concept of VSpace is just the Virtual Space in OS.

You meet this issue when you try to load a Shared Lib when start show a view ?

System provide the VSpace management .But in some custom-built Rom , VSpace sometimes may not be correctly set.I meet the issue in My program Load a shared library(system's or mine) when I try to load a view which need malloc a lot of memory for bitmap at the same time. I tried to ask the Rom system engineer if they has changed the VSpace setting , but their answer is just nothing has been done. But I finally fix the issue.

If your issue is similar to mine .Follow the advice below :

1) Use smaller png or jpg for less memory use

2) Loading all the shared library before load a view.

Hope this help . Thanks

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜