Поширені помилки про багатозадачності ios

Рада цей полягає в наступному: (пам'ятаєте, що він невірний)

Всі додатки в панелі багатозадачності на вашому пристрої iOS в даний час активні, уповільнюють роботу вашого пристрою, заповнюють його пам'ять і впливають на стан акумулятора. Щоб максимізувати продуктивність і зберегти заряд акумулятора, ви повинні вручну завершувати ці процеси.

Невірно. Невірно. Невірно. Всі, хто радить так чинити, недостатньо проінформовані і не знають деяких тонкощів.

Дозвольте мені прояснити ситуацію: панель багатозадачності в iOS не містить «список всіх запущених додатків». Це «список нещодавно використовувалися». Користувачеві ніколи не потрібно управляти фоновими завданнями на iOS.

За винятком декількох випадків, про які я вам розповім далі, додатки в панелі багатозадачності в даний час не є запущеними. Коли ви натискаєте на кнопку Home, iOS повідомляє додатком вийти. Майже у всіх випадках, додаток припиняє використання ресурсів CPU (отже і заряду акумулятора). Якщо потрібно, використана додатком пам'ять миттєво відновиться.

Давайте розглянемо це з технічного боку: додатки в iOS мають п'ять видів стану.

Для нашої розмови стану Active і Inactive нецікаві. Найбільше плутанини відбувається в тих випадках, коли додаток переходить зі стану Active в Background, потім в Suspended і Not Running.

Коли ви натискаєте кнопку Home, додаток переміщається з Active в Background. Протягом наступних кількох секунд більшість додатків зазвичай тут же переходять зі стану Background в Suspended.

Перше технічне помилка полягає в тому, що додатки Suspended не займають пам'ять пристрою. Це не так, і тому їх запуск відбувається швидше. Однак вони не використовують потужність процесора і не садять заряд акумулятора.

Ви можете подумати, що якщо додаток витрачає пам'ять, ви можете якимось чином видалити його і зберегти пам'ять. Однак вам не потрібно нічого робити, тому що система iOS зробить все за вас. Якщо ви запустите якусь велику гру, iOS зупинить всі Suspended додатки і перемістить їх в стан Not running.

Деякі люди не розуміють цього: все перераховане вище ніяк не впливає на те, що ви бачите в панелі багатозадачності. Там завжди відображається список нещодавно використовувалися, незалежно від їх поточного стану - Background, Suspended або Not Running. Можливо, ви вже звернули увагу, що додатки в режимі Active не відображаються в панелі багатозадачності.

Програмам працювати у фоновому режимі

Зазвичай багато додатків переміщуються зі стану Background в Suspended протягом декількох секунд. Додатком може знадобитися додатковий час на «завдання у фоновому режимі», про що вона повинна повідомити користувачеві.

Хороший приклад - додатки, яким потрібно завантажувати досить великі файли, на зразок Instacast. Коли додаток Instacast знаходиться в стані Active, може початися завантаження нових подкастів. Якщо я натисну кнопку Home на моєму iPhone, Instacast отримає п'ять секунд, щоб переміститися зі стану Background в Suspended. Це зупинить завантаження всіх подкастів, що могло б зайняти 5 хвилин або більше.

iOS дозволяє Instacast повідомити користувачеві про те, що завантаження продовжиться у фоновому режимі. Це надасть додатком певний часовий проміжок роботи у фоновому режимі, щоб закінчити завантаження Інтернет-мовлення. Хоча додатки можуть запросити додатковий час, це не буде тривати нескінченно довго. Дозволяє програмі отримувати близько 10 хвилин роботи в фоновому режимі, і потім воно буде примусово завершено системою iOS. Ще раз, вам не потрібно самостійно турбуватися про це.

Необмежений час роботи у фоновому режимі

Всі програми працюють в режимі Background п'ять секунд. Деякі можуть зажадати 10-хвилинне додатковий час. Існує невелика кількість додатків, яким необхідно працювати у фоновому режимі дійсно довго. iOS дозволяє їм це.

Існує рівно п'ять видів додатків, яким дозволена нескінченна робота в фоновому режимі в iOS 5:

  • Додатки, які відтворюють аудіо у фоновому режимі. Хороший приклад - Instacast, що відтворює подкаст.
  • Додатки, які відстежують ваше місце розташування в фоновому режимі. Наприклад, ви будете отримувати голосові підказки навігаційного додатка TomTom, навіть якщо інший додаток буде в активному режимі.
  • Програми, що працюють зі дзвінками VOIP. Якщо ви користуєтеся Skype на iOS, ви можете отримувати дзвінки у фоновому режимі.
  • Додатки Newsstand, які завантажили новий контент.
  • Додатки, які отримують безперервні поновлення із зовнішніх джерел у фоновому режимі.

Під час роботи у фоновому режимі додатки споживають пам'ять, потужність CPU і заряд акумулятора. Однак найчастіше ви будете знати, що в даний момент використовуються програмам працювати у фоновому режимі. Розробник зобов'язаний повідомити користувачеві про роботу у фоновому режимі, і частина процесу модерації додатків в App Store полягає в тому, щоб перевіряти подібні порушення.

Вище я сказав, що «користувачу ніколи не потрібно управляти фоновими додатками в iOS». Єдиний виняток буває в тих випадках, коли додаток припиняє свою роботу не належним чином. Однак це відбувається досить рідко.

Дозвольте мені резюмувати вищесказане і зробити деякі висновки.

  1. Якщо хтось говорить вам, що додатки в панелі багатозадачності запущені, використовують пам'ять і споживають заряд акумулятора, вони помиляються.
  2. Коли ви натискаєте кнопку Home, додаток переміщається зі стану Active в Background, потім швидко переходить в режим Suspended і більше не споживає ресурси CPU і заряд акумулятора
  3. Додаток може зажадати додаткові 10 хвилин роботи в фоновому режимі, щоб закінчити велике завдання.
  4. Якщо відбувається недолік пам'яті, iOS автоматично перемістить додатки зі стану Suspended в режим Not Running і відновить пам'ять.
  5. П'ять видів додатків - аудіо, GPS, VOIP, Newsstand і вбудовані програми (на кшталт Mail) можуть нескінченно довго працювати у фоновому режимі.

Запам'ятайте одну просту річ: вам не потрібно управляти фоновими додатками на iOS. У переважній більшості випадків система зробить це за вас, а добре написані аудіо, GPS, VOIP, Newsstand і вбудовані додатки зроблять це в решті випадків.