Размер кучи приложения

Я написал одно приложение на java и хочу, чтобы у приложения максимальный размер кучи был не 512мб а больше на такую величину какую я задам.
Многие наверно скажут, что без рут это не возможно. Но почему же игры под андроид жрут много памяти и никакой рут им не нужен?
(Надеюсь я понятно высказался - здесь 2 вопроса)

Вроде надо не на Джаве писать, а на С/С++ (NDK).

1 лайк

Ну может потому что приложение на жабе это список инструкций для виртуальной машины. И в угоду скорости и простоте разработки оптимизация и использование ресурсов отодвинуто на 100500е место. Поэтому и жрет … надеясь на сборщик мусора. Но тут еще и сами разработчики особо не парятся над контролем выделяемых структур в программе.

А если писать на сях то придется держать в голове объекты, их размеры, не забывать удалять неиспользуемые блоки и четко понимать структуру кода. Но на это уйдет куча времени разработчика и естественно денег на его оплату.
Всегда проще написать в требованиях к софту не менее 128 гигабайт оперативной памяти чтобы уж наверняка хватило. ))

1 лайк

Так вопрос же в том, как они могут жрать больше макс. доступного обычным приложениям (зависит от устройства, но вроде как одно обычное приложение не может получить все доступные гигабайты памяти)

Ну и ответ вроде как в том, что если использовать NDK, то таких ограничений почему-то нет (но конечно ОС наверно все равно может убить если будет мало памяти).

Игры пишут на движке типа Юнити, и как видно из документации того же Юнити, оно использует NDK.

1 лайк

Благодарю за пояснения.