Максимальная собственная память, которая может быть выделена для приложения Android - PullRequest
10 голосов
/ 01 февраля 2012

Размер кучи виртуальной машины не может превышать 16 МБ, 24 МБ, 32 МБ, в зависимости от телефона. Но каков максимальный размер родной кучи? Сколько собственной памяти можно выделить приложению, когда оно находится на переднем плане.

Спасибо.

Ответы [ 3 ]

10 голосов
/ 01 февраля 2012

Технически нет ограничений в NDK. Кто-то спросил это некоторое время назад и был передан этой ветке групп android-ndk . Соответствующая цитата:

"Также, учитывая, что это список NDK, ограничение на самом деле не навязывается вам, потому что это только на куче Java. Там нет ограничений на выделения в родной куче ... "

Дайан Хэкборн

Она продолжает говорить, что этим нельзя злоупотреблять, и если это так, то приложения могут быть убиты.

2 голосов
/ 01 февраля 2012

Нет простого ответа на это;Вы можете использовать столько памяти, сколько имеет устройство, за исключением того, что оно использует для других программ.Когда Android думает, что у него мало памяти, он начинает убивать фоновые задачи, поэтому это мягкий предел.Большинство устройств не имеют пространства подкачки.Вы можете получить некоторую статистику о памяти устройства изнутри Dalvik с помощью android.app.ActivityManager.MemoryInfo (я предполагаю, что есть эквивалент NDK).

1 голос
/ 23 мая 2013

adb shell dumpsys meminfo PACKAGENAME позволит вам использовать память вашего приложения и Dalvik.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...