Как увеличить объем доступной памяти для процесса в Windows Mobile? - PullRequest
3 голосов
/ 20 сентября 2011

Объем виртуальной памяти, доступной моему процессу, составляет 32 МБ, хотя фактической оперативной памяти гораздо больше. Есть ли способ (например, вызов функции или свойство проекта), который может увеличить этот предел? Я нахожу предел очень .... ограничивающим.

Я смотрю на использование по телефону GlobalMemoryStatusEx . Если бы было что-то, что могло бы установить член dwTotalVirtual, то это помогло бы.

спасибо!

1 Ответ

2 голосов
/ 20 сентября 2011

Нет, нет способа увеличить это.В Windows CE 5.0 и более ранних версиях было установлено 32 МБ виртуальной памяти для любого из 32 поддерживаемых одновременных процессов.Это часть ядра.

Теперь стоит упомянуть, что не все ресурсы выделяются из этих 32 МБ.Из документов (и опыта):

Если вы вызываете VirtualAlloc с dwSize> = 2 МБ, для flAllocationType установлено значение MEM_RESERVE, а для flProtect установлено значение PAGE_NOACCESS, оно автоматически резервирует память вобласть общей памяти.Это сохраняет виртуальную память для каждого процесса.

Это означает, что вы можете использовать VirtualAlloc для больших регионов и использовать их, не затрагивая ограничение слотов в 32 МБ.

...