Закрыть объявление

Идеальный объем оперативной памяти, необходимый телефонам для плавной многозадачности, является довольно дискуссионной темой. Apple обходится меньшими размерами своих iPhone, что зачастую более удобно в использовании, чем решения Android. На iPhone вы также не найдете никакого управления оперативной памятью, тогда как в Android для этого есть собственная специальная функция. 

Если вы зайдете, например, в телефоны Samsung Galaxy в регулировка -> Уход за устройством, здесь вы найдете индикатор оперативной памяти с информацией о том, сколько места свободно и сколько занято. Нажав на меню, вы увидите, сколько памяти занимает каждое приложение, а также здесь у вас есть возможность очистить память. Здесь же расположена функция RAM Plus. Смысл его в том, что он откусит от внутреннего хранилища определенное количество ГБ, которое будет использовать под виртуальную память. Можете ли вы представить себе что-то подобное на iOS?

Смартфоны полагаются на оперативную память. Он служит им для хранения операционной системы, запуска приложений, а также для хранения некоторых их данных в кэш-памяти и буферной памяти. Таким образом, оперативная память должна быть организована и управляться таким образом, чтобы приложения могли работать бесперебойно, даже если вы отбросите их в фоновый режим и через некоторое время снова откроете.

Свифт против. Джава 

Но при запуске нового приложения вам необходимо иметь свободное место в памяти для его загрузки и запуска. Если это не так, то место необходимо освободить. Поэтому система принудительно завершит некоторые запущенные процессы, например уже запущенные приложения. Однако обе системы, то есть Android и iOS, по-разному работают с оперативной памятью.

Операционная система iOS написана на Swift, и iPhone фактически не нужно перерабатывать использованную память из закрытых приложений обратно в систему. Это связано с тем, как устроена iOS, поскольку Apple имеет полный контроль над ней, поскольку она работает только на ее iPhone. Напротив, Android написан на Java и используется на многих устройствах, поэтому он должен быть более универсальным. Когда приложение закрывается, занимаемое им пространство возвращается операционной системе.

Нативный код против. JVM 

Когда разработчик пишет приложение для iOS, он компилирует его непосредственно в код, который может работать на процессоре iPhone. Этот код называется собственным кодом, поскольку для его запуска не требуется интерпретация или виртуальная среда. С Android все по-другому. Когда код Java компилируется, он преобразуется в промежуточный код Java Bytecode, который не зависит от процессора. Поэтому он может работать на разных процессорах разных производителей. Это имеет огромные преимущества для кроссплатформенной совместимости. 

Конечно, есть и обратная сторона. Для каждой комбинации операционной системы и процессора требуется среда, известная как виртуальная машина Java (JVM). Но собственный код работает лучше, чем код, выполняемый через JVM, поэтому использование JVM просто увеличивает объем оперативной памяти, используемой приложением. Таким образом, приложения iOS используют меньше памяти, в среднем на 40%. Именно поэтому Apple не нужно оснащать свои iPhone таким большим объемом оперативной памяти, как это делается в устройствах Android. 

.