Войти

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

Очищать оперативку или нет? Федериги знает

Иван Петров avatar |
Очищать оперативку или нет? Федериги знает

Ответ от главного разработчика Apple Крейга Федериги по поводу принудительного закрытия приложений в iOS.

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

Multitasking_1

И в понимании Apple это утверждение не имеет ничего общего с алгоритмом работы системы. Читатель одного популярного зарубежного издания посвященного компании Apple, задал конкретный вопрос конкретному человеку. Вернее, двоим.

Некто Калеб задал вопрос напрямую генеральному СЕО Apple Тиму Куку:

LetterTim_1

Эй, Тим.

Скажи, ты принудительно закрываешь приложения из меню мультизадачности в iOS и нужно ли это делать?

Калеб.

P.S. Я поддерживаю вас в разбирательстве с ФБР.


К сожалению, Тим Кук не ответил на поставленный вопрос, но на этом история не окончилась и через сутки на почтовый ящик читателя пришло письмо из Apple.

Отвечает старший президент по разработке программного обеспечения компании Apple Inc, Крейг Федериги:

LetterTim_2

Привет, Калеб.

Я знаю, ты задавал вопросу Тиму. Вот что могу сказать я:

    Скажи, ты принудительно закрываешь приложения из меню мультизадачности в iOS и нужно ли это делать?

Нет и нет.
:)

Спасибо что остаетесь с Apple!

Крейг.


Коротко и понятно.

Почему не нужно закрывать приложения

Большинство приложений, после сворачивания в меню многозадачности (а оно попадает туда сразу после однократного нажатия клавиши Home), автоматически приостанавливает свою работу. Происходит как бы «заморозка» в оперативной памяти.

В таком состоянии приложение попросту не может расходовать аккумулятор смартфона, поскольку iOS полностью блокирует его работу. Пользователь же видит лишь фотографию последнего актуального меню приложения и лишь после повторного запуска из меню многозадачности оно возобновляет свою работу.

Единственная категория приложений, который потребляют ресурсы аккумулятора – это те, что поддерживают работу в фоновом режиме: GPS-трекеры, фоновая музыка и им подобные.

Вывод: Принудительное закрытие необходимо лишь в том случае, когда вы хотите «оживить» зависшее приложение. На время автономной работы iOS-девайса оно никак не влияет. [9to5]

53
Логотип iPhones.ru
iPhones.ru
Ответ от главного разработчика Apple Крейга Федериги по поводу принудительного закрытия приложений в iOS. Мы регулярно обсуждаем варианты продления времени автономной работы мобильных устройств Apple. Тема поднималась не раз, не два, и даже не три. Связанный с этим миф выглядит так: нужно принудительно закрывать приложения из меню быстрого запуска и iPhone будет работать дольше. Речь...

53 комментариев

Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик
Котик из TikTok
Котик из TikTok
Котик из TikTok
Котик из TikTok
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Момент из фильма
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Мем стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Офис стикер
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем
Видео мем

Какие правила в комментариях
  1. GermanBoy avatar
    GermanBoy 10 марта 2016
    2

    Во первых можно в фотошопе такой эмейл за 1 минуту замутить
    Во вторых не удивлюсь, что это “работа” PR отдела Apple

    Alex318i avatar
    Alex318i11 марта 2016
    1

    @GermanBoy, в почтовой программе не проще?

    wmatweew avatar
    wmatweew11 марта 2016
    0

    @Alex318i, в хтмл редакторе не проще?
    В ворде не проще? В блокноте проще всего. Хоть в чем можно;)

    Войди на сайт, чтобы ответить
    Ответить
  2. Seva2006 avatar
    Seva2006 10 марта 2016
    0

    Большое спасибо за объяснение, только я так и не понял надо или не надо? чищу каждое утро и это уже привычка… а ответа на вопрос так и не увидел

    Дмитрий Бардаш avatar
    Дмитрий Бардаш10 марта 2016
    6

    @Seva2006, Не нужно!:) Не выгружайте! Не делайте этого! Не убирайте приложения:) Ответ: НЕТ.

    Ответ написан в конце статьи: приложения ЗАМОРАЖИВАЮТСЯ. Попробую привести пример: вы берете кусок мяса и не собираетесь его готовить. Бросаете в холодильник на заморозку. Первое – оно не портится, второе – холодильник стал мотать счетчик сильнее при постоянном температурном режиме? Нет. А вот места вроде и меньше стало, но другие-то продукты помещаются. Вот ответ: не выгружайте и оставьте эту привычку:)

    Простите, может пример и глупый, но отражает «на пальцах» принцип работы системы iOS.

    EmoCoder avatar
    EmoCoder11 марта 2016
    1

    @Дмитрий Бардаш, стоит добавить, что в iOS предусмотрены механизмы выкидывания “залежавшихся продуктов”.

    Постараюсь объяснить все не сложно, но и не на холодильниках.

    При нехватке памяти происходит следующее:
    1. Система рассылает активным приложениям уведомление о том, что памяти мало. Приложения в ответ должны освободить все временные ресурсы.
    2. Если памяти по-прежнему мало, выгружаются из памяти неактивные приложения.
    3. Если активное приложение продолжает просить больше памяти, чем система может освободить и выделить, происходит то самое принудительное завершение активного приложения.

    Важно отметить, что приложения после перехода в фон могут завершать свои дела в течении 30 секунд. Потом все, финита ля комедия.
    Для условно-постоянной работы в фоне существует несколько механизмов:
    1. Background fetching (периодически iOS дает приложению время обновить данные, периодичность зависит от того, как часто используется приложение и некоторых других факторов).
    2. Подписка на обновления геолокации.
    3. Обработка push-уведомлений (они могут тихо обрабатываться приложением, не отображая ничего в центре уведомлений, так делают, например, Pocket и Hangouts).
    4. Не очень интересные нам в контексте этой темы механизмы: проигрывание звука, VoIP, взаимодействие с Bluetooth LE.

    Внимание, малоизвестный факт. После закрытия приложения через меню многозадачности все эти способы работы в фоне отключаются до тех пор, пока Вы снова не запустите приложение. У этого есть как преимущества, так и недостатки. Казалось бы, отлично, будет меньше расходоваться заряд аккумулятора. Но, во-первых, может пострадать функциональность приложений, во-вторых, по факту расход аккумулятора может увеличиться за счет того, что приложение будет постоянно запускаться “с нуля” и грузить больше данных за раз, чем могло бы.
    Если же приложение не использует никакие возможности для работы в фоне, при этом приложением Вы пользуетесь часто, регулярная выгрузка из памяти однозначно негативно скажется на расходе заряда. Ибо придется каждый раз грузить приложение, как в первый раз.

    ВЫВОД:
    Имеет смысл выгружать из памяти только те приложения, которыми редко пользуетесь. А особенно те, которые при этом используют механизмы работы в фоне.
    Под “редко” я имею в виду реже, чем раз в неделю.
    НО, часто выгружать из памяти приложения, которыми постоянно пользуетесь, не просто бессмысленно, а даже вредно. В этом случае процессор будет работать больше, а соответственно и энергии будет расходоваться больше.

    burditto avatar
    burditto12 марта 2016
    0

    @EmoCoder, все верно, кроме “малоизвестного факта” , background fetching и обработка VoIP push запускают приложение даже если оно не свернуто а “выгружено”, геолокация в background помоему тоже, не работал с ней но как иначе moves знает все мои передвижения будучи вырубленной. Виджеты и Apple whatch, я так понимаю, тоже запустят приложения будучи активными. Так что убивание из таск менеджера эффективно только для VoIP приложений использующих непрерывное соединение с сервером. Ну и Bluetooth LE наверное, хотя наверняка не знаю.

    EmoCoder avatar
    EmoCoder12 марта 2016
    0

    @burditto, про геолокацию действительно могу и соврать, не работал с ней почти. Но вот обработчик push-уведомлений совершенно точно не вызывался у насильно выгруженного приложения как минимум на iOS 8. То же самое с background fetching. В iOS 9 все изменилось, Вы проверяли?

    Про виджеты и часы отдельная история, там без запущенного приложения не обойтись. И это опять таки на тему приложений, которые вредно убивать через меню многозадачности.

    cataha avatar
    cataha11 марта 2016
    0

    @Seva2006, Надо или не надо – решать вам, для того и функционал выгрузки присутствует. Про холодильник правильно привели пример. Две категории приложений – фоновые и обычные. Фоновые, если надо “гасануть”, именно так и гасятся, а обычные – замерзают, но в памяти висят, когда запускается ресурсоемкое приложение система автоматически начинает подчищать память, отсюда и вытекает дополнительное подвисание, но система сама это нормально разруливает, но можно и помочь ей ручками (вот тут и решать уже пользователю). Замороженное приложение при повторном вызове может поздглючивать в плане кеширования информации. Например у вас игрушка, которая раз в день дает какой нибудь приз, но разработчик не предусмотрел возможность перепроверки игрой текущего времени, только в момент старта игры “с нуля” такое происходит – игра сравнивает текущий день и дату последнего получения приза и выдает приз. Вот тогда нужно выгружать и перестартовывать игру. То же самое относится к программам которые при старте подгружают данные и потом не обновляют (планировщики, календари, и даже браузеры иногда)

    Войди на сайт, чтобы ответить
    Ответить

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

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