Если я правильно понял, у процесса Android есть две кучи - одна управляется виртуальной машиной, а другая - родной.
Размер кучи виртуальной машины не может превышать 16 МБ (по крайней мере, это значение может быть выше принекоторые телефоны).
а как быть с максимальным размером родной кучи?
Ограничение в 16 МБ, по-видимому, не является жестким ограничением в том смысле, что приложение может выделить более 16 МБ через NDK, но ОС начнет убивать другие процессы и, возможно, процесс переднего плана, а также при высокомколичество памяти используется.
Когда ОС начинает вести себя таким образом?Когда размер собственной кучи + кучи виртуальных машин превышает 16 МБ?
Debug.getNativeHeapSize () дает размер собственной кучи, но есть ли функция для проверки объединенного размера кучи собственных + виртуальных машин?
Любопытно услышать от кого-то, кто знает, как это работает!