Редизайн Siri и добавление функций многозадачности в iOS. Многозадачность в ios


Многозадачность iOS: почему выгрузка фоновых приложения негативно влияет на автономность iPhone и iPad

Со времен популяризации смартфонов перед пользователями стоит проблема низкой автономности мобильных устройств. Большие сенсорные дисплеи, мощные процессоры, энергозатратные приложения – все это в разной степени способствует быстрой разрядке аккумулятора. «Эксперты» советуют для улучшения производительности и увеличения времени автономной работы вручную закрывать эти самые приложения. В действительности, это один из мифов, который существует со времен первых версий iOS.

Многие пользователи iPhone стремятся выгружать из памяти приложения, запущенные ранее. Конечно, многозадачность работает прекрасно, но зачем занимать лишние мегабайты оперативной памяти? Тем более, ходят слухи, что несколько одновременно запущенных программ отрицательно сказываются на зарядке. В действительности, подобное оказывает на систему абсолютно противоположный эффект. Парадокс состоит в том, что выгрузка приложений из памяти только способствует ускоренной разрядке аккумулятора.

Мифы и реальность

Для начала стоит уяснить, что реализация многозадачности в iOS находится на весьма высоком уровне. Что бы ни говорили ненавистники, «операционка» прекрасно работает даже после запуска пары десятков приложений. Звучит как похвала, но программисты Apple недаром едят свой хлеб. Все разработчики подчиняются единым требованиям по созданию ПО.

Распространен миф, что принудительное закрытие приложений спасет батарею. Не позволяя системе самостоятельно управлять всеми процессами, вы совершаете ошибку. Дело в том, что само действие по вызову режима многозадачности и выгрузке программ из памяти расходует гораздо больше энергии, чем их «работа в фоновом режиме».

Возможно, большинство не поверит и подумают, что это ошибка употреблять термины «фоновые приложения» и «энергоэффективность» в одном предложении. Уверяем, оговорки и прочие погрешности в терминологии исключены. Многозадачность запускается двойным нажатием на кнопку «Домой». А полное закрытие программ осуществляется смахиванием окошка вверх (справедливо для iOS 9).

Реальность же такова, что как только вы вышли из приложения, единожды «тапнув» на клавишу «Домой», его работа останавливается: приложение перестает обращаться к процессору, а память, которую оно занимало, со временем освобождается. Конечно, бывают исключения, когда система не прекращает функционирование программы в фоновом режиме. Например, отправка электронного сообщения, воспроизведение музыки или автоматическая загрузка обновлений. Тем не менее, даже подобная «расточительность» со стороны «операционки» бережлива по отношению к аккумулятору устройства.

Когда вы вручную закрываете приложение, операционная система должна выгрузить задачу из памяти, что приводит к расходованию заряда батареи. При повторной загрузке этого же приложения системе снова нужно загрузить его в ОЗУ, что также обернется энергозатратами. Таким образом, принудительно закрывая приложения вы дважды расходуете заряд аккумулятора. Находясь же в оперативной памяти устройства, оно никак не влияет на его автономность.

Как работает многозадачность в iOS

Всего у приложений в iOS есть пять типов состояний:

  • Нерабочее — работа приложения была прекращена или оно не было запущено.
  • Неактивное — приложение в активном режиме, но не получает событий (например, пользователь заблокировал экран).
  • Активное — нормальное состояние приложения в режиме использования.
  • Фоновое — приложение скрыто, но исполняет код.
  • Приостановленное — приложение находится в памяти, но не исполняет код.

Активное и неактивное для данной темы неинтересны. Большинство путается в ситуациях, когда приложение переходит из активного в фоновое, потом в приостановленное, а затем в нерабочее.Когда вы нажимаете кнопку Домой, программа переключается из активного в фоновое. Большинство приложений через нескольких секунд после этого переходят в приостановленное. Первый технический нюанс заключается в том, что приостановленное приложение остается в памяти устройства. Это сделано для того, чтобы оно могло продолжить работу быстрее, если вы решите к нему вернуться. При этом оно не использует ресурсы процессора и батарею.

Можно предположить, что если ПО находится в памяти, то его нужно удалить оттуда для освобождения ресурсов. В действительности, iOS делает это самостоятельно. Если у вас есть приостановленное приложение и вы запускаете ресурсоемкий софт, например сложную трехмерную игру, iOS сама выгружает из памяти приостановленную программу и перемещает ее в Нерабочее состояние. Другими словами она будет полностью удалена из ОЗУ и запущена с нуля при следующем запуске.

Выводы

Главное правило многозадачности iOS звучит следующим образом: панель многозадачности является лишь списком недавно использованных приложений, вне зависимости от того, в каком состоянии они находятся. Операционная система самостоятельно выгружает задачи – тогда, когда это необходимо.

В каких случаях следует закрывать приложения и освобождать оперативную память устройства? Ответ прост – в теории никогда. Крайне редко случаются ситуации, которые должны заставить вас перезапустить программу. Разве что зависания или некорректная работа. Вероятно, в это трудно поверить, но iOS сама прекрасно справляется с распределением нагрузки на процессор и аккумулятор. Продукция Apple – это техника, которой просто нужно пользоваться, не создавая себе лишних сложностей.

Следите за новостями Apple в нашем Telegram-канале, а также в приложении MacDigger на iOS.

Присоединяйтесь к нам в Twitter, ВКонтакте, Facebook, Google+ или через RSS, чтобы быть в курсе последних новостей из мира Apple, Microsoft и Google.

Поделись этой статьей с друзьями

www.macdigger.ru

Многозадачность в iOS и мифы о ней

2 января (вот же людям не отдыхается) Фрейзер Спейрс (Fraser Speirs) опубликовал интересную заметку о том, как работает многозадачность в операционной системе iOS и разрушил один из популярных мифов среди пользователей iPhone и iPad об “ускорении” работы устройства. Заметка очень полезная, написана простым языком и должна быть понятна всем, поэтому я переведу ее у себя в блоге целиком.—————–Есть некий неправильный “совет” для iOS, на который я постоянно натыкаюсь. Что хуже, я слышу его даже от источников, которым можно было бы доверять. Я даже как-то слышал его из уст сотрудника “гений-бара” в Apple Store.Вот этот совет — и помните, что он не соответствует действительности:

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

Нет. Нет. Нет. Нет. Нет. Нет. Нет. Нет. Определенные нюансы тут, конечно, есть, но любой, кто дает этот совет, определенно не в курсе ситуации и точно уж не знает об этих нюансах.Постараюсь сказать максимально понятно: панель многозадачности в iOS не содержит “списка запущенных приложений”. Он содержит “список недавно использованных приложений”. Пользователю не надо управлять фоновыми процессами в iOS.[ad#intext-inside]За исключением некоторых случаев, которые я объясню ниже, приложения, которые показываются в панели многозадачности, не работают в данный момент. Когда вы нажимаете на кнопку Home, iOS командует приложению выйти. Практически во всех ситуациях, приложение выходит, оно прекращает использовать ресурсы процессора (а, значит, и батарею), а память, которую оно использовало, со временем освобождается, если надо.Теперь чуть более технически: у iOS приложений есть пять состояний исполнения. Вот они:

  • Нерабочее — работа приложения была прекращена или оно не было запущено
  • Неактивное — приложение в активном режиме, но не получает событий (например, пользователь заблокировал экран с приложением в рабочем состоянии)
  • Активное — нормальное состояние приложения в режиме использования
  • Фоновое — приложение больше не находится на экране, но по-прежнему исполняет код
  • Приостановленное — приложение по-прежнему находится в памяти, но не исполняет код
  • Активное и неактивное для данной темы неинтересны. Большинство путается в ситуациях, когда приложение переходит из активного в Фоновое, потом в Приостановленное, а потом в Нерабочее.
  • Когда вы нажимаете кнопку Home, приложение переходит из Активного в Фоновое. Большинство приложений затем переходят из Фонового в Приостановленное в течение пары секунд.Первый технический нюанс заключается в том, что Приостановленное приложение остается в памяти устройства. Это сделано для того, чтобы оно могло продолжить работу быстрее, если вы к нему вернетесь Оно не использует процессор и батарею.Вы можете предположить, что если приложение находится в памяти, вам нужно его как-то удалить оттуда для освобождения памяти. Вам не нужно этого делать, потому что iOS делает это за вас. Если у вас есть Приостановленное приложение и вы запускаете приложение, требовательное к количеству памяти, например, большую игру, iOS начнет удалять Приостановленные приложения и перемещать их в Нерабочее состояние. То есть они полностью будут выгружены из памяти и будут запущены с нуля, когда вы в следующий раз нажмете на их иконку.Что путает некоторых людей: все вышеперечисленное никак не влияет на то, что вы видите в панели многозадачности. Панель многозадачности всегда показывает список недавно использованных приложений, невзирая на то, в каком состоянии они находятся. Вы можете также заметить, что приложение, которое Активно в данный момент, не показывается в панели многозадачности.Фоновые задачиКогда приложение отправляется в Фоновое состояние, оно обычно переходит в Приостановленное состояние через несколько секунд. Приложение может запросить расширение этого периода, заявив, что оно запускает “фоновую задачу”.Хороший пример — это приложение, которое загружает большой файл из интернета, например Instacast, моя любимая программа для подкастов. Когда Instacast активна, она может начать загружать новые подкасты. Если я затем нажму на кнопку Home на iPhone, Instacast получит 5 секунд на работу в Фоновом состоянии и затем перейдет в Приостановленное состояние. В этом случае прервется загрузка моих подкастов, которая занимает 5 минут и больше.iOS позволяет Instacast заявить, что загрузка — это “фоновая задача”. Это позволяет Instacast получить дополнительный период фоновой работы после нажатия кнопки Home, чтозы завершить загрузку подкастов. Приложение может запросить дополнительное фоновое время, но это время не бесконечно. Приложение получает около 10 минут работы в Фоновом режиме и затем насильно приостанавливается системой. Опять же, по этому поводу вам не стоит беспокоиться.Бесконечные Фоновые ПроцессыВсе приложения получают 5 секунд работы в фоновом режиме. Некоторые приложения могут запросить расширение этого времени до 10 минут. Есть небольшой набор приложений, которым нужно работать в фоновом режиме постоянно, и iOS разрешает это.Есть 5 типов приложений, которым разрешено работать без ограничений в Фоновом состоянии в iOS 5:

  • Приложения, которые проигрывают аудио, находясь в Фоновом состоянии. Хороший пример — тот же Instacast, который воспроизводит подкаст.
  • Приложения, которые отмечают ваше местоположение в Фоновом состоянии. Например, вам нужны голосовые напоминания от навигации TomTom, даже если другое приложение Активно.
  • Приложения, которые “слушают” входящие звонки через VoIP. Если вы используете Skype на iOS, вы можете получить входящий звонок Skype, когда приложение находится в Фоновом состоянии.
  • Приложения Nesstand, которые загружают новый контент.
  • Приложения, которые получают постоянные обновления от внешних аксессуаров, находясь в Фоновом состоянии.
  • Все хорошо написанные приложения в вышеупомянутых категориях должны переходить в Приостановленное состояние, когда они прекращают выполнять свою текущую задачу. Когда Instacast заканчивает проигрывать подкаст, она должна перейти в Приостановленное состояние. Есть некоторые встроенные приложения, которые также постоянно работают в фоновом режиме в iOS — наиболее часто используемым, наверно, является Mail.До тех пор, пока эти приложения работают в Фоновом состоянии, они будут потреблять память, ресурсы процессора и батареи. В целом, однако, вы должны знать, что вы используете такие приложения. Разработчик должен уведомить вас, какой вид Фоновой задачи будет исполняться и часть проверки в App Store заключается в том, чтобы проверить, чтобы эти технологии использовались разумно.Я говорил раньше, что “пользователю не надо вручную управлять Фоновыми задачами в iOS”. Единственное исключение — это ситуация, когда подобное приложение с работой в фоне начинает безумствовать и не выключается соответствующим образом. Это, однако, является исключительной ситуацией и не относится к нормальной задаче пользователя iOS.[ad#intext-inside]РезюмеДавайте я закончу, резюмировав тут все вышесказанное:1. Если кто-то говорит вам, что все приложения в панели многозадачности работают, используя память или потребляя энергию батарейки, они неправы.2. Когда вы нажимаете кнопку Home, приложение переходит из Активного в Фоновое, а затем быстро — в Приостановленное состояние, когда оно не использует процессор и не потребляет энергию.3. Приложение может запросить дополнительные 10 минут работы в фоне, чтобы закончить большую задачу до перехода в Приостановленное состояние.4. Если памяти становится мало, iOS автоматически переместит Приостановленные приложения в Нерабочее состояние, и освободит занимаемую ими память.5. Пять видов приложений — аудио, GPS, VoIP, Newsstand и приложения для работы аксессуаров — и некоторые встроенные приложения вроде Mail могут работать бесконечно в фоновом режиме, пока не закончат свои задачи.Проще говоря: вам не нужно управлять фоновыми задачами в iOS. Система сама управляет практически всеми ситуациями за вас и хорошо написанные аудио, GPS, VoIP, Nesstand и аксессуарные приложения тоже разберутся сами.Оригинал

    www.alexmak.net

    Редизайн Siri и добавление функций многозадачности в iOS

    После работы над редизайном Youtube и публикации своей концепции для macOS, я решил, что должен позаботиться об одной из моих самых любимых платформ — iOS для iPhone.

    Еще в 2009 году вряд ли кто-нибудь из моего окружения знал, что такое iPhone. Тогда он еще не достиг берегов Франции. Впервые я увидел его своими глазами в ресторане у моей тети (да, той, у которой был огромный iMac в гостиной). Она привезла его с собой, и я провел весь вечер с ним. Я помню, как меня поразила чувствительность экрана и насколько естественными были жесты мультитач. До тех пор сенсорные экраны означали резистивные технологии (знаете, эти сенсорные экраны, где вам приходилось нажимать очень сильно, чтобы что-либо сделать), и это явно не допускало такого плавного опыта. Вернувшись домой, я умолял родителей купить мне iPhone, а через несколько месяцев я с радостью получил iPhone 3G на день рождения.

    Этому телефону не хватало ключевых функций, таких как видеокамера, и отправка MMS, но мне было все равно: пользовательский опыт намного опережал конкурентов, а в App Store было много потенциала на будущее.

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

    Позвольте представить вам iOS Mogi.Это Моги – красивая рыбацкая деревушка в окрестностях Нагасаки в Японии. Я сделал эту фотографию в прошлом годуЭто Моги — красивая рыбацкая деревушка в окрестностях Нагасаки в Японии. Я сделал эту фотографию в прошлом году

    «Привет, Siri, помоги мне»

    Первая часть этой концепции сосредоточена на Siri. Здесь идея заключается не в создании новых команд, а в том, чтобы иначе отображать существующие голосовые запросы, которые хорошо работают (например, «Найди мне хороший ресторан поблизости» или «Покажи фотографии Японии, которые я сделал в прошлом году»), чтобы они стали еще полезнее для пользователя.

    В iOS Mogi Siri была спроектирована на основе концепции, которую я называю параллельной помощью. Идея состоит в том, чтобы голосовой помощник был ненавязчивым (он не будет занимать весь экран, как он делает сегодня), контекстно-зависимым и мог делать что-то для пользователя в фоновом режиме, пока тот занят чем-то еще.

    Поскольку изображения куда понятнее слов, вот очень простой пример:Использование Siri в СообщенияхИспользование Siri в СообщенияхВо время использования приложений Siri принимает форму уведомления, чтобы быть менее навязчивой (если вызвать ее с экрана блокировки или на главном экране, она будет отображаться на весь экран).Siri в iOS MogiSiri в iOS MogiВ приведенном выше примере я прошу Siri показать мне фотографии Японии, поскольку хочу отправить фото моему другу Яннику. Как только запрос будет выполнен, результат отображается в уведомлении Siri, поэтому я могу продолжать делать то, что делаю, не прерываясь. Я могу свайпнуть вниз по уведомлению, чтобы увидеть больше, и выбрать фотографии для отправки.Выбор фото перед их отправкойВыбор фото перед их отправкойИли я могу напрямую перетащить изображение из расширенного уведомления в приложение ниже (наконец, внося вклад в API перетаскивания на iPhone):Перетаскивание фотографии из Siri в приложение «Сообщения». Чтобы отменить перетаскивание, перетащите объект на границы экранаПеретаскивание фотографии из Siri в приложение «Сообщения». Чтобы отменить перетаскивание, перетащите объект на границы экранаЕсли оно не использовалось какое-то время, уведомление сжимается к верху экрана:СжатиеСжатиеИ можно снова открыть его, смахнув вниз экрана (мы вернемся к нему позже):Открытие Siri снова. Появляется последний запросОткрытие Siri снова. Появляется последний запросЧто действительно круто в новой Siri, так это то, что полученные результаты могут быть легко использованы в другом приложении:При переключении между приложениями результат запроса остается доступным, поэтому его можно использовать сноваПри переключении между приложениями результат запроса остается доступным, поэтому его можно использовать сноваЯ считаю, что проектирование ненавязчивой Siri имеет много случаев использования и может реально выделиться на фоне конкурентов благодаря глубокой интеграции в ОС. Вот несколько примеров, чего можно было бы достичь с помощью новой Siri:В ответ на «Найди рестораны поблизости». Коснитесь пузыря для получения дополнительной информации или перетащите его, чтобы поделиться им. Свайпните, чтобы увидеть другие рестораны поблизостиВ ответ на «Найди рестораны поблизости». Коснитесь пузыря для получения дополнительной информации или перетащите его, чтобы поделиться им. Свайпните, чтобы увидеть другие рестораны поблизости

    Проактивная SiriПроактивная Siri. Если Siri обнаруживает адрес или определяет, что вы опаздываете, она появляется и позволяет вам предпринимать действия. В этом случае нажмите уведомление, чтобы отправить сообщение Крейгу, или смахните уведомление вниз, чтобы просмотреть варианты. Экран действия позволит пользователю выбирать между любимыми приложениями для обмена сообщениямиИ даже больше. В iOS Mogi можно попросить Siri показывать страницы из приложения, работая в другом приложении. Так, например, я могу писать письмо и хочу добавить картинку, которую друг отправил мне в iMessage. Вот как это выглядело бы в iOS Mogi:Открывайте разговор, когда пишите электронное письмо, благодаря SiriОткрывайте разговор, когда пишите электронное письмо, благодаря SiriЭто начало настоящей многозадачности на мобильном устройстве, и я думаю, что она более приспособлена к мобильным ограничениям, чем просто вертикальное разделение экрана на 2.

    «Привет Siri, я хочу…»

    Знаете, как иногда раздражает, когда вы пытаетесь отправить сообщение при помощи Siri, и в конечном итоге берете свой телефон и набираете текст? В iOS Mogi, вместо того, чтобы полностью полагаться на Siri, чтобы сделать что-то за вас, вы можете попросить ее помочь вам справиться быстрее. Больше не придется блуждать в интерфейсе, просто начните свое предложение с «Я хочу …», и Siri позволит вам сделать это, не отрываясь от текущей задачи (в iOS Mogi то, что вы делаете, действительно драгоценно).Набор сообщения Яннику, во время написания электронного письмаНабор сообщения Яннику, во время написания электронного письмаИ это работает прямо с экрана блокировки:Отвечаю Яннику с экрана блокировки при помощи SiriОтвечаю Яннику с экрана блокировки при помощи Siri

    «Привет, Siri, прокрути немного вниз»

    Поскольку теперь Siri совершенно не навязчива, появляются новые варианты ее использования. Один из них — действия Siri (Siri actions).

    Действия Siri в основном претворяют в жизнь любые сенсорные жесты в голосовые команды. От тапа до скролла все теперь можно выполнять используя исключительно голосовые команды. Поэтому я могу, например, попросить Siri прокрутить список моих альбомов и открыть High as Hope от Florence + The Machine.Навигация по Apple Music при помощи SiriНавигация по Apple Music при помощи SiriЭлементарные варианты использования, подобные этому, ранее были невозможны, поскольку Siri занимала весь экран и не понимала контекста. Теперь, когда я пишу электронное письмо, я могу на ходу попросить Siri изменить получателя, изменить подпись или даже изменить стиль, пока пишу письмо:Редактирование письма на ходу при помощи SiriРедактирование письма на ходу при помощи SiriДумаю, что это был бы огромный шаг вперед, в частности для людей с ограниченными возможностями. Действия Siri упростили бы им навигацию по ОС. Даже для остальных пользователей, думаю, это было бы действительно полезно. Например, когда руки заняты, при приготовлении пищи, или просто для облегчения выполнения некоторых повторяющихся задач (как видно выше в приложении «Почта»).

    И все может пойти еще дальше благодаря ARKit 2, который оказался достаточно точным, чтобы отслеживать движение глаз (но давайте пока не будем усложнять нашу концепцию):

    Я считаю, что действия Siri очень согласованы с первоначальным подходом Siri, который должен позволить пользователям выполнять простые действия при помощи голоса. Сделав Siri ненавязчивой, мы можем сделать шаг вперед.

    Действия Siri также приносят с собой новую способность Siri: сохранение элементов из любого приложения, чтобы использовать их в другом. Откройте фотографию и скажите: «Сохранить эту фотографию», чтобы Siri ее сохранила.Попросите Siri сохранить элементы, и она сохранит их для васПопросите Siri сохранить элементы, и она сохранит их для васОткройте другое приложение и перетащите фотографию из уведомления Siri в приложение:Перетаскивание сохраненного изображения в MediumПеретаскивание сохраненного изображения в MediumЭто также работает для копирования-вставки:Когда контент копируется откуда-то, он появляется в уведомлении SiriКогда контент копируется откуда-то, он появляется в уведомлении Siri, поэтому его можно легко использовать в другом месте. Смахните вниз по уведомлению, чтобы просмотреть все предыдущие сохраненные материалы, такие как текст, изображения или электронные письмаПросто тапните, чтобы вставить текст в текущем приложении, в котором находится курсор. Вы также можете перетащить контент куда захотите:Вставка содержимого из приложения «Заметки» в Medium за секунду благодаря SiriВставка содержимого из приложения «Заметки» в Medium за секунду благодаря SiriВы можете попросить Siri показать вам все ваши сохраненные элементы сказав: «Покажи мне все сохраненные элементы»:«Покажи мне мои сохраненные элементы», и Siri покажет их вамПросто скажите: «Покажи мне мои сохраненные элементы», и Siri покажет их вам. Вы можете перетащить их в приложение ниже или коснуться их для редактирования перед использованиемКогда сохраненные элементы используются в другом месте, они исчезают из этого списка.

    Вот такая вот новая Siri. А что, если бы мы применили те же принципы ненавязчивой многозадачности к другим областям ОС? Разумеется, новые жесты и визуальный код могут быть применены где угодно. Как мы можем это использовать? Прежде чем углубиться в эту идею, давайте посмотрим, можем ли мы улучшить опыт в той конкретной области, где я лично трачу много времени: Apple Maps.

    Apple Maps

    Не бросайте в меня помидоры, но мне действительно нравится приложение «Карты» от Apple. Хотя некоторые из его данных могут быть не столь надежными, особенно здесь, во Франции, я нахожу пользовательский опыт и интерфейс очень восхитительным. «Ящик» внизу, представленный в iOS 10, когда приложение было переработано, является блестящей идеей. Неудивительно, что мы стали замечать, как он появляется в других приложениях, например, Lyft.

    Однако то, что меня беспокоит время от времени — это отсутствие понимания контекста, особенно при использовании транспортных систем. Более конкретно, когда я еду по линии метро, и пытаюсь получить новые направления, приложение «Карты» не знает, что я застрял на этой линии и дает мне указания, основанные исключительно на моем текущем местоположении, в то время, как оно должно основывать вычисления по моему текущему местоположению с учетом текущей ветки метро. Очень часто я получаю указания от начальных точек, которые недоступны оттуда, где я нахожусь на данный момент. С этой точки зрения навигация по Apple Maps становится бесполезной.

    Разумеется, для Apple Maps должны быть способы определить, какую линию метро я использую в данный момент. Схема метрополитена известна Apple Maps. Поэтому приложение может просто проверить мою позицию и сравнить ее с траекторией линии. Как только алгоритмы определят, что я еду, скажем, на линии Кэйо в токийском метро, вот что произойдет:Когда Apple Maps обнаруживает, что пользователь находится на линии метрополитенаКогда Apple Maps обнаруживает, что пользователь находится на линии метрополитенаПриложение может спросить пользователя, действительно ли он находится на линии Кэйо. Запрос может быть отклонен путем свайпа вниз или, если указана правильная линия, но не направление, можно листать влево или вправо до тех пор, пока не будет найдено правильное направление. Как только пользователь подтвердит линию, на которой находится, Apple Maps рассчитает новые направления на основе этой информации:Как только линия будет подтверждена, маршруты будут рассчитаны с использованием линии метро в качестве отправной точкиКак только линия будет подтверждена, маршруты будут рассчитаны с использованием линии метро в качестве отправной точки3D Touch нажатие по маленькой черной кнопке, чтобы включить линейный вид ветки метро с вашим положением в реальном времени:Линейный вид ветки метро с вашим положением в реальном времениЛинейный вид ветки метро с вашим положением в реальном времениПочему я внезапно заговорил об Apple Maps и каким образом это согласуется с предыдущей частью статьи, вы можете спросить? Ну, вот в чем дело: iOS не хватает способов информировать пользователя о вещах, которые происходят сейчас. Думаю, что пользователи хотели бы легко отслеживать свой маршрут, делая что-то еще (например, играть или читать в метро), и они также должны иметь возможность быстро вернуться к Apple Maps (или их любимому навигационному приложению) без необходимости открывать App Switcher или возврата на домашний экран.

    В ответ на эту проблему позвольте мне представить вам Live Notifications.

    Live Notifications или многозадачность мобильных устройств

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

    Вот таймер:

    Home iOS

    Во время телефонного звонка/ звонка в Facetime:

    Время в iOS

    Вот навигации по картам:

    Навигация по картам iOSПочему сторонние приложения, такие как Google Maps или Waze, также не могут контролировать экран блокировки?Да, это экран блокировки. Это определенно похоже на хак. Почему сторонние приложения, такие как Google Maps или Waze, также не могут контролировать экран блокировки?Когда телефон используется в качестве точки доступа:

    Когда телефон используется в качестве точки доступа

    Когда записывается экран или памятка:

    Когда записывается экран или памятка

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

    Как насчет того, когда Uber в пути? Когда должны доставить еду? Когда видео воспроизводится на Youtube или Netflix? Или когда… мы используем транспорт и нам нужно легко отслеживать маршрут? (😜)

    Хорошо, что Apple сделала телефонные звонки или маршруты приложения «Карты» легкодоступными (в строке состояния или на экране блокировки). Однако, способы сделать это слишком ограниченны (ограничены несколькими нативными приложениями, и никакое действие не может быть запущено без открытия соответствующего приложения), они должны быть доступны в любом месте и в любое время без прерывания текущей задачи. А некоторые из них визуально не согласованны и хорошо интегрированы в систему. Вкратце, они больше походят на быстрое решение, которое взламывает систему, чем истинную функцию, и должно быть лучшее и более элегантное решение для решения этих и других вопросов (оно также должно быть открыто для сторонних приложений!).

    Live Notifications были разработаны для решения этой проблемы.

    Давайте рассмотрим наш предыдущий пример, когда пользователь, читающий книгу в приложении iBooks, находится в метро. Вот как он мог бы взглянуть на текущий маршрут:Live Notification iOSПроверка маршрута во время чтения благодаря Live Notification. Через некоторое время без взаимодействия синяя полоска исчезает. Кроме того, название приложения в Live Notification можно изменить, чтобы больше узнать о ситуации (здесь «Карты Apple» были изменены на «Нахождение на линии Кэйо»)Чтобы взглянуть на свое текущее положение на линии метро, пользователю просто нужно перетащить вниз небольшую полоску в верхней части экрана.

    Чтобы открыть Центр уведомлений, потяните дальше:Live Notification открытоВы должны думать об этом жесте, как о старом iOS 10: вы немного тяните верх, вы чувствуете тактильную обратную связь, чтобы вы знали, что ваше Live Notification открыто, и если вы тяните дальше, вы открываете Центр уведомленийИ точно так же, через несколько секунд и не выходя из приложения iBooks, пользователь может знать, где он находится на линии метро, и не пропустить свою остановку.

    Эти жесты должны быть вам знакомы. Они аналогичны жестам для Siri. На самом деле, в iOS Mogi, Siri также является Live Notification. Итак, все жесты, которые были введены ранее, также доступны для других задач.

    Например, в этом случае пользователь может перетащить Live Notification, чтобы показать свое положение на карте в реальном времени. Он также может инициировать действия прямо оттуда:Когда Live Notification открыто, показывается положение на карте в реальном времениКогда Live Notification открыто, показывается положение на карте в реальном времени. (Я лично никогда не считал удобным 3D Touch элемент, расположенный в верхней части экрана. Я предпочитаю старый добрый свайп, особенно сейчас, когда iPhone больше, чем когда-либо. Тем не менее, 3D Touching уведомления в Центре уведомлений имеют смысл, поскольку там они более доступны)Если пользователи захотят, они также могут нажать на Live Notification, как на обычное уведомление, чтобы открыть соответствующее приложение:Открытие Apple Maps простым нажатиемОткрытие Apple Maps простым нажатиемLive Notifications — это естественная эволюция Rich Notifications, представленных в iOS 10. Теперь, как никогда, они ощущаются мини-приложениями.

    Как запускать Live Notifications? Ничего не надо делать. Приложения определяют, запускать ли Live Notifications или нет, в зависимости от ситуации. Когда активируется Live Notification, происходит это:Секундомер превращается в Live NotificationСекундомер превращается в Live NotificationПриложение сжимается в Live Notification, чтобы уведомить пользователя, а затем в маленькую полоску в верхней части экрана, чтобы избежать навязчивости.

    Вот несколько примеров того, как процессы, происходящие в фоновом режиме, могут обрабатываться ОС благодаря Live Notifications:Телефонные звонки.Телефонные звонки. Обратите внимание, что полоска может изменять свой цвет в зависимости от типа активности (зеленый для звонков по телефону или FaceTime, синий для навигации и т. д.)

    Благодаря Live Notifications, Uber может сообщить вам в реальном времени, когда ваш водитель прибудетБлагодаря Live Notifications, Uber может сообщить вам в реальном времени, когда ваш водитель прибудет, даже если вы не находитесь в приложении Uber. Обратите внимание, что стиль Live Notification может быть настроен разработчиками в соответствии с эстетикой их приложенийПроверка маршрута в Картах GoogleПроверка маршрута в Картах Google при написании заметки (заметки находятся в фоновом режиме, а Live Notification расширено)

    Live Notification «Сейчас читают» от MediumLive Notification «Сейчас читают» от Medium. (Уважаемая команда Medium, если вы читаете это, пожалуйста, добавьте функцию, продолжения чтения статьи с того места, где мы остановились!)Live Notifications также могут использоваться для быстрого обмена информацией:Live Notification «Сейчас читают» от Medium всплываетLive Notification «Сейчас читают» от Medium всплывает, когда Medium закрыт. Затем вы можете поделиться статьей с помощью простого перетаскиванияТо же самое для скриншотов, которыми теперь можно поделиться простым перетаскиванием:Делитесь скриншотами простым перетаскиваниемДелитесь скриншотами простым перетаскиваниемПри одновременном запуске нескольких Live Notifications они складываются в стек в стиле iOS 12:Несколько Live Notifications сразуНесколько Live Notifications сразуИх можно легко упорядочить при помощи перетаскивания, чтобы ваше любимое Live Notification было поверх остальных:Коснитесь сгруппированных Live NotificationsКоснитесь сгруппированных Live Notifications и перегруппируйте их при помощи перетаскивания. Вы также можете просто взглянуть на все свои Live Notifications в этом не сгруппированном представленииИ, разумеется, Live Notifications также доступны непосредственно с экрана блокировки, поэтому вам легко увидеть маршрут или вернуться туда, где вы были:Чтение статьи на Medium, когда едешь по линии Кэйо токийского метроЧтение статьи на Medium, когда едешь по линии Кэйо токийского метро. На экране блокировки разработчики могут выбрать, чтобы их Live Notifications расширялись по умолчанию, например, для маршрутов, где важно иметь указания. (Я также немного обновил стиль экрана блокировки в соответствии с новым более ярким стилем iOS)

    В заключение

    Вот такая вот iOS Mogi. iOS Mogi — это третья итерация концепции, которую я начал около 2 лет назад (тогда же я начал работать над macOS Newton). Тогда она называлась iOS Fuji.

    С самого начала я хотел найти элегантный способ реализовать многозадачность на мобильном телефоне, и разделение экрана никогда не было для меня вариантом. Я хотел что-то более согласованное с мобильным подходом, и, надеюсь, вы сочтете Live Notifications хорошим шагом в этом направлении.

    Как всегда, приветствуются лайки и комментарии 🙂

    sketchapp.me

    Многозадачность в iOS4: неоправданные надежды

    Все мы находимся в ожидании новой iOS4, поэтому, как мне кажется, очень важно, чтобы люди не возлагали на нее больших надежд, особенно с тем, что связано с “многозадачностью”.

    Часть ответственности за всю шумиху лежит на Apple, потому что при обновлении iOS компания поставила во главу угла многозадачность. На официальном сайте Apple гордо красуется фраза: “Теперь вы можете запускать любимые приложения и переключаться между ними мгновенно, без замедления работы фоновых приложений и излишнего потребления батареи”.1

    Обращали ли вы внимание на цифру 1 в конце? Маленькую приписку заметишь не сразу. Внизу страницы Apple уточнила, что многозадачность в iOS 4 “работает только для тех приложений, которые поддерживают эту функцию”. Другими словами, любая программа, которая не знает про многозадачность, работать с ней не будет. И даже это далеко не вся правда.

    Вернемся на несколько шагов назад. iPhone всегда поддерживал многозадачность: почта проверяет сообщения, iPod играет, календарь и будильник включаются и выключаются, приходят SMS/MMS и т.д. Кроме этого происходит синхронизация контактов и календарей с помощью MobileMe (или ActiveSync) в фоновом режиме. Большинство этих фич работало с момента появления iPhone (push-извещения появились позже в версии 3.0).

    Фоновая работа невозможна только для сторонних приложений (разработанных не Apple). Это значит, что вы не можете одновременно использовать GPS-приложение, слушать музыку в Lastfm, забирать RSS фиды или подключаться по SSH к другому компьютеру. Как только вы закрываете программу, она сразу прекращает работу.

    В iOS4 Apple представила альтернативное решение для некоторых видов приложений: данные о местоположении, IP-телефония (VoIP) и аудио. Например, в iOS4 можно разговаривать по Skype в фоновом режиме. Или слушать Lastfm в фоне, если конечно разработчик добавит поддержку. GPS-программа, учитывающая ваше местоположение, также будет работать в фоне (после обновления программы). Например, Tom Tom уже объявила, что программа для навигации поддерживает фоновую работу, поэтому услышать фразы типа “через 30 метров поверните направо” можно даже при проверке почты или чтении RSS.

    Вот собственно и все. Фоновые процессы сильно ограничены тремя специфическими областями, которые по задумке Apple должны покрывать все нужды пользователей смартфона. Так как в iOS4 нет настоящей многозадачности, Instapapper не будет обновляться каждые X часов или минут. Не будет обновляться и RSS-ридер. Или 1Password. Или TextExpander. Ни одно из этих приложений.

    Еще одна функция, которая не будет работать в iOS4 на уровне операционной системы – макросы или текстовые замены TextExpander. В Mac OS X TextExpander поддерживается в любой программе. На iPhone он будет работать только для тех приложений, у которых добавлена поддержка. Другими словами, использовать TextExpander в Mail или блокноте нельзя.

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

    По словам разработчиков на pocket-lint.com, пользователям iPhone не стоит ожидать поддержку многозадачности от всех приложений. Один из них даже спросил: “А зачем вам многозадачность во время игры?” Не знаю, что это был за разработчик, но я бы напомнил ему, что iPhone изначально многозадачное устройство. Все приложения для смартфона должны быть готовы к закрытию по команде пользователя.

    Зачем? Потому, что в любой момент вам могут позвонить.

    Если телефон звонит и я отвечаю, вернет ли меня приложение туда, откуда я вышел? Должно. Но так делают не все программы. В iOS4 это упущение будет заметнее, особенно после того, как Apple сказала, что программы могут запоминать свое состояние при выходе. Начиная с iOS4, пользователи будут ожидать такое поведение от любой программы. Да, и даже геймеры. Запомнить состояние и вернуть меня туда, откуда я вышел, будет огромным плюсом для любого приложения на iPhone.

    Я очень рад, что Apple сделала шаг на встречу многозадачности в iOS 4. И даже готов принять то, что она постаралась выдержать баланс между временем автономной работы и удобством. Того, что сделано Apple, вполне достаточно для обычных пользователей, которые будут думать: “да, теперь в iPhone есть многозадачность”. Даже если это только отчасти правда. Кто знает, возможно через год или два, когда аккумулятор в iPhone станет еще лучше, мы увидим “фоновые обновления” для RSS-ридеров или Instapaper. А до тех пор, многозадачность в iPhone – это компромисс. Компромисс между удобством и затратами, и это нужно понимать. Возможно для некоторых приложений нам придется подождать поддержку многозадачности, а для других – в iOS4 все останется как есть.

    www.macdigger.ru

    Как работает многозадачность в iPhone

    Как работает многозадачность в iOS 9 (ipadstory.ru)

    Slide Over, или как работает улучшенная многозадачность на iPad | Яблык

    iOS 11: iPad превратили в Mac

    Почему НЕ НУЖНО закрывать приложения из многозадачности в iOS??

    Как активировать настоящую многозадачность в iOS 8 с твиком ReachApp

    Как работает многозадачность iOS 11 коротко и ясно

    Малоизвестные функции iOS 10

    Настоящая многозадачность на iPhone и iPad с джейлбрейк твиком Multify

    УМНЫЙ БУДИЛЬНИК В iPHONE - КАК ОН РАБОТАЕТ!?!

    Многозадачность iPhone 4 (26/30)

    Также смотрите:

    • Перезагрузка Айфон 5 через Айтюнс
    • Стеклянные вставки корпуса iPhone 5S как поменять
    • Как вставить симку в планшет iPad
    • Какие программы для чтения книг на Айфон
    • Как переместить контакты с iPhone на Android
    • Как зайти в Айфон если он на пароле
    • Нет звука в вотсапе на Айфоне
    • Что будет если прервать обновление Айфона
    • Нашел iPhone 4S как сбросить пароль
    • Стерлись все номера в Айфоне
    • Добавить оперативной памяти на Macbook Air
    • Как изменить эквалайзер на iPod Shuffle
    • Айтюнс не видит Айпод шафл
    • Как сделать мерцание вспышки при звонке на iPhone
    • Как подключится к вайфаю с Айфона
    Главная » Хиты » Как работает многозадачность в iPhone

    iphonetvshows.ru

    Многозадачность в новой Apple iOS 4 / Хабр

    Одно из главных новшеств Apple iOS 4 — поддержка многозадачности! По словам Стива Джобса, технология многозадачности примененная в iOS 4 позволит существенно увеличить время автономной работы Apple iPhone и Apple iPad по сравнению с решениями используемыми у конкурентов — типа Google Android OS.

    Как же работает многозадачность в Apple iOS 4? Для сторонних разработчиков софта в iOS 4 нет реальной многозадочности (хотя для разработчиков самой Apple iOS 4 она существует — т.к. ядро iOS 4 – многозадачное и является обрезанным, модифицированным и перекомпилированным под ARM-процессоры вариантом ядра настольной Apple Mac OS X). Apple расширили программный API-интерфейс некоторыми сервисами. И теперь программа может сообщить ОС (а конкретно – SpringBoard'у), что у неё есть «задача, завершение которой критично для приложения». В таком случае SB оставит программу работать в фоне. Так же у разработчиков, появилась возможность узнать, сколько времени осталось до того, когда SB потребует от программы завершения её работы. Это все касается абстрактных задач. Так же есть категории задач, которые постоянно выполняются в фоне: audio, location, voip, и имеют возможность отправить самому себе уведомление в определенное время (a la алерты из PalmOS). Обеспечивают многозадачность так называемые “демоны” (daemons), хорошо знакомые пользователям *nix и BSD-систем. Это часть программы, которая исполняет свой код в фоновом режиме. Но не программа целиком. То есть в фоне будет висеть лишь демон, который запомнит последнее положение в работе с программой. И при необходимости даст продолжить её выполнение. Помимо этого, для большего удобства обеспечена более проработанная поддержка push-уведомлений.

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

    Сложно определить вид многозадачности, который использован в Apple iOS 4, но некоторые специалисты считают, что для сторонних разработчиков софта он больше всего похож на Кооперативную многозадачность (Co-operative multitasking) — которая использовалась в 1980-х и начале 1990-х годов в таких ОС как MS Windows 2.0, 3.0, 3.1, 3.11 и Apple System 6, System 7 (Mac OS 7) — см.: en.wikipedia.org/wiki/System_7

    Мне кажется, что такого вида многозадачности для смартфона Apple iPhone и интернет-планшета Apple iPad — вполне достаточно, зачем излишняя функциональность, когда лучше экономить заряд батареи:)

    Как вы считаете? Очень хочется услышать ваше мнение:)

    habr.com

    Как открыть многозадачность на Айфоне

    Самый полный обзор iOS 11 для iPhone, iPod touch и iPad в 4К. 50 новых функций iOS 11.

    Как работает многозадачность в iOS 9 (ipadstory.ru)

    3D Touch на iPhone 6s - 9 ПРИМЕРОВ ИСПОЛЬЗОВАНИЯ!

    Настоящая многозадачность на iPhone и iPad с джейлбрейк твиком Multify

    Как закрывать приложения на iPhone

    Как быстро закрыть все запущенные приложения в iOS

    Обзор iOS 10: альтернатива Android N

    Пункт управления iOS7: как скрыть в программах?

    Как вывести две вкладки на экран в Safari iOS 10

    МНОГОЗАДАЧНОСТЬ | Как использовать режим «окно в окне» на iOS

    Также смотрите:

    • Можно ли поменять язык на Айфоне
    • Как перенести видео с компьютера на iPhone без iTunes
    • Как прошить Айпад в режиме dfu
    • Как взломать прошивку на Айфон
    • Как подключить Айфон к mamaroo
    • Почему Айфон не заряжается когда включен
    • Apple iPad 3G a1337 64Gb характеристики
    • Программа для просмотра видео на Макбуке
    • Как можно проследить по телефону где находится человек Айфон
    • Как сохранить фото из почты Айфона
    • Как разрешить доступ к фото Айфон
    • Неверный пароль для WiFi iPad
    • Как включить апп стор на Айфоне
    • Как сделать резервную копию iPhone на другой диск
    • iPhone 5 перестал реагировать сенсор
    Главная » Новое » Как открыть многозадачность на Айфоне

    iphones-4g.ru


    scroll to top