Чи запускаються програми iOS у фоновому режимі?


15

Скажімо, якщо я встановлю десяток ігор та утиліт на iPhone, а потім також встановив програми для чату, такі як WhatsApp, WeChat, Line,

  1. Коли iPhone перезавантажиться, чи можуть ці програми також запускатися і забирати цінний процесорний час та системні ресурси?

  2. Що робити, якщо я запускаю програму, а потім явно двічі торкніться кнопки «Головна», а потім висуньте додаток (щоб вийти з нього). Чи може він чи частина його все ще працювати у фоновому режимі зараз чи пізніше?

  3. Оскільки повідомлення WhatsApp, WeChat, Line та Facebook повідомляють мене про нові повідомлення, схоже, вони будуть запущені, як тільки я перезавантажую iPhone. Вони використовують мій процесор у фоновому режимі? Крім того, здається, що навіть якщо я вимкніть оновлення програми в налаштуваннях, додатки, можливо, все ще можуть працювати у фоновому режимі . Це правда?

Велике занепокоєння полягає в тому, що якщо я встановлю всі варіанти Angry Birds, кілька ігор для рулетки в казино, і всі версії Cut the Rope і не намагаюся їх видаляти (у телефону є 128 Гб пам’яті). Тоді, чи можливо, всі ці додатки будуть запускатися в час перезавантаження iPhone або просто випадковим чином і займатимуть час процесора та системні ресурси (наприклад, оперативна пам'ять)?


1
Я опублікував дуже довгий посібник про все, що тут потрібно знати, сподіваюся, що це вам справді допомагає!
сова

Чи допомогла моя відповідь? Будь ласка, прийміть це або скажіть, що з цим не так, щоб я міг зробити це краще! :)
сова

Відповіді:


29

Apple має дуже суворі рекомендації щодо того, як і коли програми можуть працювати у фоновому режимі.

Нижче наведено єдині сценарії, в яких стороння програма iOS може використовувати центральний процесор у фоновому режимі.

Виділення фону

Будь-яке додаток може використовувати "Вибір фонового зображення" (він же оновлення фонової програми) для отримання вмісту у фоновому режимі протягом декількох секунд, приблизно один раз на день (у часові рамки, регульовані iOS, поза контролем розробника). Фоновий інструмент займає дуже мало акумулятора та процесора, і його в основному використовують програми новин / погоди / соціальні мережі / пошта для оновлення каналу, щоб після відкриття програми він не був повністю застарілим.

Аудіо, голосовий зв’язок через IP, зв’язок Bluetooth

Якщо програма відтворює аудіо у фоновому режимі (через AirPlay або через динаміки телефону), iOS дозволяє йому працювати у фоновому режимі, поки він не перестане відтворювати музику; якщо додаток дозволяє здійснювати телефонні дзвінки на основі даних (наприклад, дзвінки Whatsapp або Skype) у фоновому режимі, він може залишатися активним, використовуючи процесор протягом тривалості дзвінка; і якщо програма зв’язується з аксесуарами Bluetooth (наприклад, програма Pebble, що спілкується з Pebble Smartwatch), вона може постійно пробуджуватись на задньому плані.

Завантаження газетних кіосків, віддалені сповіщення

Програми в газетних кіосках (якщо вони затверджені Apple як основна новинна організація та відображаються в газетній частині журналу App Store) дозволяється завантажувати новий вміст у фоновому режимі; будь-яка програма (як-от додаток New York Times), якій потрібно відображати сповіщення, створені поза додатком (наприклад, пробивання сповіщень про новини), може не спати у фоновому режимі, щоб отримати такі "віддалені" сповіщення.

Оновлення місцеположення

Якщо ви дозволяєте додатку "завжди" використовувати ваше місцезнаходження (тобто у фоновому режимі), він може бути активним у будь-який час у фоновому режимі. Такі програми, як Facebook, Знайти друзів та інші, використовують це для оновлення інформації, пов’язаної з місцем розташування, хоча інші програми можуть використовувати їх для прихованого використання для виконання завдань у фоновому режимі (але лише якщо ви спеціально дозволяєте їм отримувати доступ до вашого місцезнаходження).


Дуже поширена помилка , що «проводячи вгору» на додаток , щоб убити його зупиняє його від що працюють у фоновому режимі: це абсолютно НЕ відповідає дійсності. Програми, які мають одну з перерахованих семи причин працювати у фоновому режимі, можуть працювати у фоновому режимі, незалежно від того, "ви" переходите на них, а додатки, які не мають однієї з цих семи причин, не можуть працювати, коли вони не на екрані, навіть якщо ви їх не вб'єте.

Ще одне помилкове уявлення (яке, здається, у вас є), полягає в тому, що вимкнення "Оновлення фонової програми" зупинить роботу програми у фоновому режимі; насправді це лише відключає додаток від використання фонового вибору, але він може працювати у фоновому режимі, якщо у нього є також одна з інших шести причин, незалежно від перемикання фону оновлення програми.


Отож, програми, які ви встановили за допомогою процесора, пам'яті, акумулятора чи даних у фоновому режимі? Ви можете це легко дізнатися! Перейдіть Settingsна свій iPhone, знайдіть Batteryрозділ та загляньте. Якщо додаток показує "Фонова активність" під назвою, він використовує процесор у фоновому режимі; інакше вона нічого не робила на задньому плані.

Ось приклад скріншоту:

введіть тут опис зображення

На цьому iPhone Podcasts працював у фоновому режимі, але жоден з інших додатків не має. Перейти до налаштувань батареї - це простий спосіб визначити, чи розлючені птахи працюють у фоновому режимі.


Отже, щоб відповісти на ваші запитання безпосередньо:

Коли iPhone перезавантажиться, чи можуть ці програми також запускатися і забирати цінний процесорний час та системні ресурси?

Тільки якщо вони спеціально налаштовані для роботи у фоновому режимі, ви можете перевірити, чи не робили вони це в налаштуваннях батареї вашого iPhone.

Що робити, якщо я запускаю програму, а потім явно двічі торкніться кнопки «Головна», а потім висуньте додаток (щоб вийти з нього). Чи може він чи частина його все ще працювати у фоновому режимі зараз чи пізніше?

Так. Наприклад, якщо Facebook використовує сервіси локації (як це робиться), перетягування пальцем, щоб убити додаток Facebook, не зупинить його у використанні вашого місцезнаходження у фоновому режимі, і, використовуючи ваше місцезнаходження, він може виконувати практично будь-яке інше завдання в фон теж.

Оскільки повідомлення WhatsApp, WeChat, Line та Facebook повідомляють мене про нові повідомлення, схоже, вони будуть запущені, як тільки я перезавантажую iPhone. Чи використовуєте мій процесор у фоновому режимі? Крім того, здається, що навіть якщо я вимкніть оновлення програми в налаштуваннях, додатки, можливо, все ще можуть працювати у фоновому режимі. Це правда?

Whatsapp, WeChat, Line, Hangouts, FB Messenger та інші програми для чату використовують remote notificationsможливість раз у раз перевіряти наявність нових повідомлень у фоновому режимі. Це очікувана поведінка (і ви можете перевірити, наскільки вони це роблять, перевіривши їх використання акумулятора, що додається, додаток, знову ж таки в налаштуваннях батареї), і не слід занадто сильно розряджати акумулятор. Дійсно, вимкнення оновлення програми для цих програм не матиме жодного ефекту, оскільки вони використовують віддалені сповіщення, а не фонове отримання для роботи у фоновому режимі.


TL; DR: Програми можуть використовувати ресурси вашого телефону у фоновому режимі, ви можете бачити, скільки вони роблять у Settings-> Battery.


Джерела інформації:


2
це досить добре ... ви можете процитувати будь-яке посилання / джерело про це?
неополярність

2
@ 太極 者 無極 而 生 Вся інформація виходила з моїх особистих знань як розробника iOS, але я також додав деякі джерела до основи своєї відповіді.
owlswipe

1
Відмінна відповідь. Як предмет дрібниць, Apple відключила віддалені сповіщення для закритих програм у iOS 7. Але оскільки люди, які примусово викинули всі свої додатки, поскаржились на отримання не сповіщень, їх повернули в iOS 7.1 або 7.2.

2
@Phong мені це подобається, я цього не знав! Дякую: D.
owlswipe

3
Ви неправильно вважаєте, що примусові відмови не пов'язані з тим, чи можуть додатки використовувати фонове виконання. Apple on BE : "[iOS] не запускає програми після ... примусового виходу користувачем. Один виняток - це програми для розташування ... в iOS 8 і пізніших версіях ... [Інакше] користувач повинен запустити [це] явно або перезавантажити ... перед тим, як додаток [буде] запускається автоматично на задній план [iOS]. "
tubedogg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.