如何在Windows Mobile上增加进程的可用内存?

How can I increase the available memory for a process on Windows Mobile?

本文关键字:内存 进程 增加 Windows Mobile      更新时间:2023-10-16

我的进程可用的虚拟内存量是32MB,尽管实际RAM要多得多。是否有一种方法(例如函数调用或项目属性)可以增加此限制?我发现极限非常....有限。

我正在通过调用GlobalMemoryStatusEx查看使用情况。如果有什么东西可以设置dwTotalVirtual成员,那就很有帮助了。

谢谢!

不,没有办法增加。Windows CE 5.0和更早的版本对任何支持的32个并发进程都有32MB的虚拟内存限制。它是内核的一部分。

现在值得一提的是,并不是所有的分配都来自这32MB。从文档(和经验):

如果你调用VirtualAlloc, dwSize>= 2mb, flAllocationType设置为MEM_RESERVE, flProtect设置为PAGE_NOACCESS,它会自动保留共享内存区域的内存。这保留了每个进程的虚拟内存。

这意味着您可以VirtualAlloc大区域并使用它,而不会影响32MB插槽限制。