Закрити оголошення

Усі ми знаємо урок «багатозадачність = можливість виконувати кілька процесів одночасно». Ми використовуємо його в наших комп’ютерах, навіть не підозрюючи про його наявність. Перемикання між програмами або вікнами однієї програми відбувається (для нас) у режимі реального часу, і ми сприймаємо цю можливість операційної системи як належне.

Завдання різне

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

Більшість програм, сумісних з iOS 4, переходять у «режим призупинення» або в сплячий режим після натискання кнопки «Додому». Аналогією може бути закриття кришки ноутбука, який одразу переходить у сплячий режим. Після відкриття кришки ноутбук виходить з режиму сну і все в тому ж стані, що і до закриття кришки. Крім того, є програми, у яких натискання кнопки «Додому» призводить до їх завершення. Під цим ми маємо на увазі справжнє припинення. Розробники мають вибір, який із цих методів використовувати.

Але є й інша категорія додатків. Це програми, які дійсно працюють у фоновому режимі, навіть якщо ви робите щось зовсім інше на своєму iDevice. Хорошим прикладом є Skype, оскільки йому потрібне постійне підключення до Інтернету. Іншими прикладами можуть бути програми, що відтворюють фонову музику (Pandora), або програми, які потребують постійного використання GPS. Так, ці програми споживають акумулятор, навіть якщо працюють у фоновому режимі.

Спати чи збивати?

Певні програми, сумісні з iOS 4, які слід перевести в сплячий режим (перевести в «призупинений режим») після натискання кнопки «Додому», продовжують працювати у фоновому режимі. Apple дала розробникам рівно десять хвилин, щоб додаток виконав своє завдання, яким би воно не було. Припустімо, ви завантажуєте файл у GoodReader. Раптом хтось хоче зателефонувати вам, і ви просто повинні прийняти цей важливий дзвінок. Дзвінок не тривав більше десяти хвилин, ви повернетеся в додаток GoodReader. Можливо, файл уже завантажено або ще завантажується. Що робити, якщо дзвінок триває більше десяти хвилин? Додаток, у нашому випадку GoodReader, повинен буде припинити свою діяльність і повідомити iOS, що його можна перевести в режим сну. Якщо вона цього не зробить, вона буде безжально припинена самою iOS.

Тепер ви знаєте різницю між «мобільною» та «настільною» багатозадачністю. У той час як плавність і швидкість перемикання між програмами важливі для комп’ютера, час автономної роботи завжди є найважливішим для мобільних пристроїв. Багатозадачність також потрібно було адаптувати до цього факту. Тому, прочитавши цю статтю, якщо ви двічі натиснете кнопку «Додому», ви більше не побачите «панель програм, що працюють у фоновому режимі», а по суті лише «список нещодавно використаних програм».

Автор: Даніель Грушка
Джерело: onemoretap.com
.