LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Это ну очень спорное утверждение.

Какое именно? То, что в GC-enabled приложениях требуется использовать в два раза больше памяти, чтобы производительность не проседала (читай, чтобы GC не дёргался безостановочно)? Это известный факт, могу найти пруф, если есть сомнения.

Недостаток оперативной памяти в Apple очень легко заметить, если запустить какую-нибудь тяжёлую игру или браузер с более чем двумя вкладками. А на Samsung всё продолжит летать.

Браузер не на Java написан, поэтому тут идёт игра на одном поле и бОльший объём оперативной памяти даёт безусловное преимущество.

В большей прожорливости Android виноват, скорее всего, не GC, а более сложный фреймворк и другая модель бэкграундных процессов.

Может быть и так. Но то, что GC жрёт больше, если не приседать специально (преаллокация всего на старте), это факт (в общем-то очевидный). Поэтому стандартное приложение на Java в андроиде будет требовать примерно в два раза больше памяти, чем такое же стандартное приложение на Objective C в iOS.

Про игры я ничего не скажу, там Unity в 99% случаев и как он устроен, я не совсем представляю. Скрипты там на C#, но сколько они памяти кушают в сравнение с нативной частью, я не знаю.

Исходная версия Legioner, :

Это ну очень спорное утверждение.

Какое именно? То, что в GC-enabled приложениях требуется использовать в два раза больше памяти, чтобы производительность не проседала (читай, чтобы GC не дёргался безостановочно)? Это известный факт, могу найти пруф, если есть сомнения.

Недостаток оперативной памяти в Apple очень легко заметить, если запустить какую-нибудь тяжёлую игру или браузер с более чем двумя вкладками. А на Samsung всё продолжит летать.

Браузер не на Java написан, поэтому тут идёт игра на одном поле и бОльший объём оперативной памяти даёт безусловное преимущество.

В большей прожорливости Android виноват, скорее всего, не GC, а более сложный фреймворк и другая модель бэкграундных процессов.

Может быть и так. Но то, что GC жрёт больше, если не приседать специально (преаллокация всего на старте), это факт (в общем-то очевидный). Поэтому стандартное приложение на Java в андроиде будет требовать примерно в два раза больше памяти, чем стандартное приложение на Objective C в iOS.

Про игры я ничего не скажу, там Unity в 99% случаев и как он устроен, я не совсем представляю. Скрипты там на C#, но сколько они памяти кушают в сравнение с нативной частью, я не знаю.