Войти

Или войди с помощью

Виртуальная память на iPhone

Кит Андреенко avatar |

VmemКак мы знаем, наш телефон по всем своим техническим характеристикам очень близок к полноценному взрослому компьютеру, но есть два основных аспекта, которые не дают нам назвать его «честным карманным компьютером».

Первый – политический. Разумеется – это политика Apple, которая не желает, что бы iPhone считался компьютером, т.к. тогда ей придётся придумывать гору красивых маркетинговых объяснений, почему она тратит столько усилий на то, чтобы защитить айфон от установки стороннего ПО и ОС.

Второй – технический. Операционная система нашего телефона имеет уникальный (среди современных КПК) механизм работы с оперативной памятью – мы его уже описывали на наших страницах, и с тех пор он, надо сказать, очень не сильно изменился. Этот механизм являет собой техническое воплощение политической идеи Apple – именно он определяет такие особенности операционной системы как стабильность и скорость, однако платить за его использование приходится очень ограниченной многозадачностью и периодическими вылетами приложений, которые по каким-то причинам начинают потреблять слишком много памяти (классический пример здесь – приложение Safari, которое при загрузке определённого количества контента в табах стабильно вылетает на 2G и 3G). Разумеется, двойное увеличение объёма оперативной памяти в 3G[S] очень сильно повлияло на стабильность и комфортную жизнь приложений – теперь в системе уже не такой жёсткий дефицит памяти, и злобный демон по имени Сторожевой Пёс (MobileWatchdog) не приходит к ним с требованием отдать память или умереть. Однако и разработка приложений не стоит на месте – и я не исключаю ситуации, что появится прожорливое приложение, которому и в 3G[S] будет тесно.

memory

Кроме того, в телефонах 3G и 2G ситуация с памятью по-прежнему острая. А особенно, в телефонах, на которых сделан джейлбрейк. А особенно в телефонах с джейлбрейком, на которых установлен менеджер тем WinterBoard.

Почему же таких проблем не возникает в других мобильных платформах? Главным образом, из-за того, что в них в том или ином виде реализован тот же механизм работы с оперативной памятью, который реализован в операционных системах «больших» компьютеров. Вспомните, что происходит в вашей винде, если вы открываете слишком много приложений одновременно? Правильно. Да ничего не происходит – только тормозить всё начинает, но тем не менее, как правило, вы не получаете сообщений вроде «У операционной системы закончилась память, поэтому мы грохнули ваше приложение». Происходит это именно за счёт использования виртуальной памяти. Что это за зверь такой? В двух словах – это механизм, позволяющий операционной системе сохранять некоторые куски занятой памяти (страницы) на жёсткий диск (в случае карманного компьютера – на основное хранилище, то, чего у ваших айфонов 8, 16 или 32ГБ – т.е., много).

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

ims2

Попытки реализовать этот механизм предпринимались сторонними разработчиками несколько раз – это так называемые проекты VM (для прошивок 2.х.х) и VM2(для 3.х.х). И даже сейчас можно установить соответствующие пакеты на ваши телефоны и запустить механизм виртуальной памяти на айфоне (2G и 3G). Однако, я бы очень не рекомендовал этого делать пользователям, не считающим себя доками в начинке айфона и играющим в игры, т.к. весьма велики шансы, что вам потребуется восстанавливать после этого прошивку телефона. Ну и, разумеется, установка такого расширения – несмотря ни на какие уверения обратного – не увеличит скорости работы ваших приложений, наоборот, с изрядной долей вероятности, в играх появятся очевидные задержки, которые будут весьма вас раздражать.

Таким образом, заключением станет следующее: виртуальная память для айфона – очень интересный проект и у него, очевидно, есть перспектива, но относиться к нему следует с исключительнейшей осторожностью – т.к. он вносит кардинальные изменения в основной принцип среды iPhone OS X.

26
undefined
iPhones.ru
Как мы знаем, наш телефон по всем своим техническим характеристикам очень близок к полноценному взрослому компьютеру, но есть два основных аспекта, которые не дают нам назвать его «честным карманным компьютером». Первый – политический. Разумеется – это политика Apple, которая не желает, что бы iPhone считался компьютером, т.к. тогда ей придётся придумывать гору красивых маркетинговых объяснений,...

Войди и оставь комментарий

Или войди с помощью

<- Назад Забыли пароль? Войти
  1. Ricco avatar
    Ricco 10 ноября 2009
    0

    у меня почему та сбс показывает зачастую меил и айпод, хотя минут 10 назад я их закрыввал через этот же самый сбс и чистил память, вообщем берутся ниоткуда . странно как-то ( обновление мейла не стоит )

    Войди на сайт, чтобы ответить
    Ответить
  2. Swen avatar
    Swen 10 ноября 2009
    0

    Давно пользуюсь, на 2G свободно от 60-70 Mb

    Войди на сайт, чтобы ответить
    Ответить
  3. turboforik avatar
    turboforik 10 ноября 2009
    0

    Kit,
    Спасибо!
    Как всегда всё внятно и по делу. Кое что из вышеизложенного текста знал, в частности выводы, но и нового почерпнул.
    Так держать!

    Войди на сайт, чтобы ответить
    Ответить
  4. Kykypy3 avatar
    Kykypy3 10 ноября 2009
    0

    Ricco в 3.х прошивках мейл запускается при входе в подробный список контакта (где телефон и тд.). Видимо из-за новой функции отправки контактов.

    Войди на сайт, чтобы ответить
    Ответить
  5. Кит Андреенко avatar
    Кит Андреенко 10 ноября 2009
    0

    Кроме того, во всех прошивках, начиная со 2-й, mail всегда висит в памяти, когда включен механизм push-уведомлений.

    Войди на сайт, чтобы ответить
    Ответить
  6. Dalexus avatar
    Dalexus 10 ноября 2009
    0

    виртуальная память это хорошо, но плохо :)
    То, что RAM освобождается – это да, но тормоза начинаются, например даже в TapTap. Сразу же появляется желание снести VM2, которое подкрепляется аналогичным действием.

    Войди на сайт, чтобы ответить
    Ответить
  7. deekay avatar
    deekay 10 ноября 2009
    0

    “это вносит изменения в основной принцип работы ос Х” – ну и что, надо же развивать эту ос и дальше, вон уже телефоны появляются с 1ггц процессорами, а в айфоне нет мультизаданости НОРМАЛЬНОЙ, в нокии она появилась тыщу лет назад.
    А вообще, у кого джейл – ставьте kirikaе. Это почти идеальная реализация многозадачности (мое мнение) – можно смотреть какие программы открыты и закрывать ненужные, переключаться между прогами. и все в простом достойном интерфейсе, память и батарею не жрет. спасибо огромное разработчику, но хотелось бы чтобы это было реальзовано изначально и официально, ведь работает-то все отлично (на 3гс), и даже без виртуальной памяти!
    Да, конечно если открыть сразу десяток приложений (нужно ли столько??), то начнутся тормоза и вылеты, но ведь можно например реализовать систему контроля за оперативкой, чтобы предупреждать пользователя при открытии нового приложения о малом количестве свободной памяти и возможных сбоях, и посоветовать закрыть неиспользуемые программы. А что мы имеем сейчас? кривую недомногозадачность – насильно висят в фоне safari, mail, телефон, ipod + частые вылеты сафари. Провел тест на 3гс: открыл вышеупомянутые приложения, открыл приложение iStat, он показал что свободно 115мб оперативки, нажал там кнопку free memory (которая чистит оперативку и закрывает эти самые программы), стало 150мб. Так зачем эти приложения, висящие в фоне без нашего ведома, мне не понятно, особенно в 2g/3g

    Войди на сайт, чтобы ответить
    Ответить
  8. kerkomen avatar
    kerkomen 10 ноября 2009
    0

    Согласен с Deekay: backgrounder + kirikae – и всё отлично!

    У самого iPod Touch 2g – стоит VM2: не тормозит ничего) 80 мб оперативки свободной при включении, тяжеловесные игры грузятся немного (совсем немного) дольше, но зато потом не тормозят…

    Процессы, вроде mail, возникают случайно и неизвестно откуда. Это недочёт, но сказать, чтобы это сильно уменьшало виртуальную память не могу.

    ”т.к. весьма велики шансы, что вам потребуется восстанавливать после этого прошивку телефона” – при чём тут прошивка, объясните? Ничего не придётся восстанавливать!

    На моём аппарате NFS Undercover, муз. проигрыватель и Winterboard (стоит темка) работают нормально, в игре висяков нет, аппарат немного притормаживает, только если свернуть игру.

    Войди на сайт, чтобы ответить
    Ответить
  9. k214-raZor avatar
    k214-raZor 10 ноября 2009
    0

    Парни, а если не секрет, а зачем вам многозодачность? Вот к примеру deekay сказал что открывать десяток приложений не нужно, а зачем тогда? какая польза от того что у вас появится многозадачность для AppSore прог? Я вот если честно не нахожу применения… Все проги которыми я пользуюсь, все запоминают данные и состояния с которыми их закрыли, т.е. получается просто свернули, стандартные проги прекрасно работают в фоне, да и 3G с GSM модели не потянут 2-3 приложения в фоне, разве только 3GS…
    Так зачем, не ужели вам надо иметь 10-ок приложений в фоне, вы там что видео монтируете, рефераты пишете и одновременно играетесь? и все это в одну минуту? ей богу не пойму….

    Войди на сайт, чтобы ответить
    Ответить
  10. Ricco avatar
    Ricco 10 ноября 2009
    0

    что бы и играть в НФС и сидеть в асе)))
    честно говоря тоже непонимаю…. только 1 применение нашёл…звонок и аська..что бы не подрубалась заново денежку не кушала

    Войди на сайт, чтобы ответить
    Ответить
Помни о правилах — если начал оффтопить, то не удивляйся потом.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.