Дом Социальные медиа Что мне делать, если обычная обработка моего приложения iOS прерывается? - манекены

Что мне делать, если обычная обработка моего приложения iOS прерывается? - манекены

Видео: Микрофон в AirPods для съемки видео. Как его включить? 2024

Видео: Микрофон в AirPods для съемки видео. Как его включить? 2024
Anonim

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

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

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

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

Последовательность событий всегда начинается одинаково - с сообщением applicationWillResignActive:, отправленным в делегат вашего приложения, когда приложение собирается перейти из активного состояния в неактивное. В этом методе вы должны приостановить выполнение текущих задач, отключить таймеры, снизить частоту кадров OpenGL ES и вообще приостановить работу.

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

Если пользователь реагирует на прерывание или запустил другое приложение, ваше приложение перемещается в фоновый режим.

Следующие две пули объясняют сообщения, на которые может реагировать ваше приложение после того, как они были перемещены в фоновом режиме:

  • Сообщение applicationDidEnterBackground: : Когда ваше приложение впервые входит в фоновое состояние, оно отправил сообщение applicationDidEnterBackground:. В этом методе вы должны сохранить любые несохраненные данные или состояние (текущее представление, выбранные параметры и т. Д.) Во временный файл кеша или базу данных предпочтений на диске.

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

    Если ваше приложение очищается, когда оно находится в этом приостановленном состоянии, он не получает уведомления о его удалении из памяти. Вот почему вам нужно сохранять любые данные, когда вы получаете сообщение applicationDidEnterBackground:.

    Когда ваш делегат отправлен метод applicationDidEnterBackground: у вашего приложения есть недокументированное количество времени, чтобы закончить работу. Если метод applicationDidEnterBackground: не возвращается до истечения времени (или если ваше приложение не запрашивает больше времени выполнения от iOS), ваше приложение будет завершено и очищено из памяти.

    Если ваше приложение запрашивает больше времени выполнения или объявило, что оно выполняет фоновое выполнение, ему разрешено продолжить работу после возвращения метода applicationDidEnterBackground:. Если нет, ваше (сейчас) фоновое приложение будет перенесено в состояние приостановлено вскоре после возврата из метода applicationDidEnterBackground:.

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

  • applicationWillEnterForeground: сообщение: Когда ваше приложение перезаписывается из фона, оно отправляется приложению applicationWillEnterForeground:. В этом методе вам нужно отменить то, что вы сделали в методе applicationDidEnterBackground:.

Если пользователь игнорирует SMS-сообщение или приложение перезаписывается из фона, ваше приложение снова активируется и начинает получать прикосновение и другие события.

Когда ваше приложение будет повторно активировано, оно отправит сообщение applicationDidBecomeActive:.

Вы можете использовать метод applicationDidBecomeActive: для восстановления приложения до состояния, в котором он находился, до прерывания. Здесь вы отмените то, что вы сделали в методе applicationWillResignActive, например, перезапустите все задачи, которые были приостановлены (или еще не запущены), в то время как приложение было неактивным. Если приложение было ранее в фоновом режиме, вам может потребоваться обновить пользовательский интерфейс.

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

Приложения, как правило, перемещаются на задний план при прерывании. Но если приложение было скомпилировано с очень ранней версией SDK или работает на ранней версии операционной системы, которая не поддерживает многозадачность - или если вы решите, что не хотите, чтобы ваше приложение запускалось в фоновом режиме и вы устанавливаете ключ UIApplicationExitsOnSuspend в своей Info. plist file - iOS завершает ваше приложение.

Даже если ваше приложение поддерживает многозадачность, вы все равно должны быть готовы к тому, чтобы ваше приложение было убито без какого-либо уведомления.Пользователь может явно убивать приложения, используя панель многозадачности. Кроме того, если память будет ограничена, система может удалить приложения из памяти, чтобы сделать больше места. Если оно удалит ваше приложение , оно не даст вам предупреждения !

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

Ваше приложениеWillTerminate: реализация метода имеет ограниченное количество времени, чтобы выполнить то, что ему нужно сделать и вернуть. Дольше этого и ваше приложение прекращается и очищается из памяти.

Что мне делать, если обычная обработка моего приложения iOS прерывается? - манекены

Выбор редактора

Добавить операторы сравнения JavaScript к операторам условий - манекены

Добавить операторы сравнения JavaScript к операторам условий - манекены

JavaScript использует операторы сравнения внутри условий для создания числовых или в алфавитном сравнении переменных с другими переменными или значениями. Используя эти операторы, вы можете определить, больше или меньше переменной или меньше другой переменной или значения. Вы также можете использовать комбинации этих операторов сравнения. Имя Оператор Пример Примечания Equality == ...

Что мне делать, если обычная обработка моего приложения iOS прерывается? - манекены

Что мне делать, если обычная обработка моего приложения iOS прерывается? - манекены

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

10 Вещей, которые вы не знали, JavaScript мог бы сделать - манекены

10 Вещей, которые вы не знали, JavaScript мог бы сделать - манекены

В javaScript больше к нему, чем кажется на первый взгляд. Когда вы начинаете программирование, вы wull обнаруживаете, насколько это просто. Вот десять вещей, которые JavaScript может сделать, о чем вы, возможно, не знали: Сделайте лучше телевидение: Yahoo! Платформа ConnectedTV позволяет программистам писать телевизионные приложения с использованием JavaScript. Приложения, созданные с помощью Yahoo! платформа ...

Выбор редактора

Измените свой взгляд на публикацию InDesign CS5 - макеты

Измените свой взгляд на публикацию InDesign CS5 - макеты

Вы можете просматривать элементы InDesign Creative Suite 5 публикации во многих отношениях, таких как прокрутка, масштабирование и просто перемещение страницы вперед и назад. Измените представление своей публикации InDesign, чтобы она соответствовала тому, как вы работаете. Например, вам может потребоваться увидеть объекты на закрытой странице ...

Выберите «Цвета» с панелью «Образцы» InDesign CS5 - макеты

Выберите «Цвета» с панелью «Образцы» InDesign CS5 - макеты

Панель «Образцы» в Adobe InDesign Creative Suite 5 поможет вам выбрать цвета. Цвета, которые вы используете в документе, могут сильно различаться в зависимости от того, для чего вы создаете документ. Например, одна публикация, которую вы делаете с помощью InDesign, может быть для каталога, который имеет только два цвета; другой может быть для Интернета, ...

Выберите цвет из InDesign CS5 Swatch Libraries - dummies

Выберите цвет из InDesign CS5 Swatch Libraries - dummies

Используйте по возможности цвета в InDesign Creative Suite 5, потому что они используйте именованные цвета, которые может точно соответствовать профессиональному принтеру. Библиотеки Swatch, также известные как библиотеки цветов, являются стандартизованными наборами именованных цветов, которые помогают вам, потому что они являются наиболее часто используемыми наборами цветовых образцов. Вы можете избежать попыток ...

Выбор редактора

Создавать новые стили таблиц в Word 2011 для Mac - манекены

Создавать новые стили таблиц в Word 2011 для Mac - манекены

При использовании Word in Office 2011 для Mac , вы можете применить стили таблиц, чтобы изменить внешний вид ячеек. Если вы не можете найти существующую, которая соответствует вашим потребностям, вы можете создавать новые стили таблиц из диалогового окна «Стиль». Выполните следующие шаги: В Word 2011 для Mac выберите «Формат» → «Стиль». Откроется диалоговое окно «Стиль». Нажмите ...

Создать таблицу полномочий в Word 2011 для Mac - манекены

Создать таблицу полномочий в Word 2011 для Mac - манекены

Создание таблицы полномочий в Word in Office 2011 для Mac - это двухэтапный процесс. Во-первых, вы отмечаете выделенный текст для индексирования; затем Word использует выделенный текст для создания таблицы. Что такое таблица властей? Если вы адвокат, юрист, юрист, юрист или какой-либо другой законный бигль, ...

Создание SmartArt в Word 2007 - манекены

Создание SmartArt в Word 2007 - манекены

Слово 2007 включает отличную функцию SmartArt, которая позволяет добавлять несколько разных типов полезных диаграмм для вашего документа. Идея диаграмм SmartArt состоит в том, чтобы представлять список маркеров как диаграмму взаимосвязанных фигур. С помощью SmartArt вы можете создавать диаграммы List, Process, Cycle, Hierarchy, Relationship, Matrix и Pyramid. Хотя многие типы ...