Закриття програм для iPhone - погана ідея? Ні, і ось чому.

Is Closing Iphone Apps Bad Idea







Спробуйте Наш Інструмент Для Усунення Проблем

Ви двічі клацаєте кнопку Домашня сторінка і проводите свої програми від верхньої частини екрана: Гарна ідея чи погана ідея? Останнім часом виникає певна плутанина щодо того, корисне чи шкідливе закриття програм для iPhone та iPad, особливо щодо часу автономної роботи. Я завжди говорив, що це гарна ідея: Закрийте свої програми є підказкою №4 моєї статті про Як заощадити час автономної роботи iPhone -.





У цій статті я поясню, чому закриття програм може бути корисним для часу автономної роботи вашого iPhone , забезпечити уривки з документації розробника Apple щоб підтримати це та включити деякі приклади з реальних тестів Я використовував Apple Developer Tools та свій iPhone.



Коли я пишу, я хочу, щоб інформація, яку я надаю, була корисною та простою всім зрозуміти. Зазвичай я не надто технічний, тому що досвід роботи в магазині Apple показав мені це очі людей починають скляти коли я починаю говорити про процесів , Час процесора , і життєвий цикл програми .

Закриття програми для iPhoneУ цій статті ми заглибимось трохи глибше як працюють програми так що ви зможете прийняти обґрунтоване рішення про те, чи підходить вам закриття програм для iPhone або iPad. Спочатку ми поговоримо про Життєвий цикл програми , що описує те, що відбувається з моменту відкриття програми до її закриття та очищення з пам'яті.

Життєвий цикл програми

Їх п’ять додаток які складають життєвий цикл програми. Зараз кожна програма на вашому iPhone знаходиться в одному з цих станів, і більшість із них знаходяться в не працює держава. Документація розробника Apple пояснює кожен з них:





що означає, якщо вам сняться щури

Ключові винос

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

Проведення програм вгору: закриття чи примусовий вихід?

Щоб усунути певну плутанину щодо термінології, коли ви двічі клацнете кнопку «Домашня» на своєму iPhone і проведіть програмою від верхньої частини екрана, ви закриття додаток. Примусовий вихід додаток - це інший процес, про який я планую писати в наступній статті.

Стаття підтримки Apple про Багатозадачність iOS підтверджує це:

«Щоб закрити програму, двічі клацніть кнопку« Головна », щоб побачити нещодавно використані програми. Потім проведіть пальцем угору по додатку, який ви хочете закрити. '

Чому ми закриваємо наші програми?

У моїй статті про Як заощадити час автономної роботи iPhone - , Я завжди говорив так:

«Раз на день або два, це гарна ідея, щоб закрити свої програми. У ідеальному світі вам ніколи не доведеться цього робити, і більшість співробітників Apple ніколи не скажуть, що потрібно ... Багато проблем із розрядом акумулятора виникає, коли додаток передбачається закрити, але ні. Натомість додаток аварійно справляється у фоновому режимі, і ваш акумулятор iPhone розряджається, навіть не підозрюючи про це '.

Коротше, основний тому я рекомендую закрити ваші програми запобігайте розряджанню акумулятора, коли програма не заходить у фоновий стан або призупинений стан як слід. У моїй статті про чому айфони нагріваються , Я порівнюю центральний процесор вашого iPhone (центральний процесор - мозок операції) з двигуном автомобіля:

Якщо натиснути педаль на метал протягом тривалого періоду часу, двигун автомобіля перегрівається, і він використовує багато газу. Якщо центральний процесор iPhone обертається на 100% протягом тривалого періоду часу, iPhone перегрівається, і акумулятор швидко розряджається.

Усі програми використовують центральний процесор на вашому iPhone. Як правило, програма використовує велику кількість потужності центрального процесора протягом секунди або двох, коли вона відкривається, а потім повертається до режиму меншої потужності під час використання програми. Коли програма виходить з ладу, процесор iPhone часто застряє на 100%. Коли ви закриваєте свої програми, ви переконуєтесь, що цього не відбувається, оскільки програма повертається до не працює стан .

Чи шкідливо закривати програму?

Абсолютно не. На відміну від багатьох програм на вашому Mac або ПК, програми iPhone не чекають, поки ви натиснете 'Зберегти', перш ніж збережуть ваші дані. Apple документація для розробників наголошує на важливості того, що додатки готові до завершення, якщо не вдається:

«Додатки повинні бути готові до припинення в будь-який час і не повинні чекати збереження даних користувача чи виконання інших важливих завдань. Завершення, ініційоване системою, є звичайною частиною життєвого циклу програми '.

Коли ти закрийте програму, це теж нормально:

«На додаток до системи, яка припиняє роботу вашої програми, користувач може явно припинити її роботу, використовуючи багатозадачний інтерфейс. Ініційоване користувачем припинення має той самий ефект, що і припинення дії призупиненої програми. '

Аргумент проти закриття додатків для iPhone та iPad

Існує аргумент проти закриття ваших програм, і він фактично заснований. Однак він базується на a дуже вузький вигляд фактів. Ось довге і коротке:

  • Потрібно більше сили, щоб відкрити програму з не працює штату, ніж це робить, щоб відновити його з фон або призупинено держава. Це абсолютно правда.
  • Apple докладає багато зусиль для того, щоб операційна система iPhone ефективно керувала пам’яттю, що мінімізує кількість заряду акумулятора, коли вони залишаються в фон або призупинено держава. Це теж правда.
  • Ви марнуєте час роботи акумулятора, якщо закриваєте свої програми, оскільки для того, щоб відкривати програми iPhone з нуля, потрібно більше енергії, ніж операційна система, щоб відновити їх із фонового та призупиненого стану. Іноді правда.

Давайте подивимось на цифри

Розробники часто використовують Час процесора щоб виміряти, скільки зусиль витрачає iPhone на виконання завдань, оскільки це може мати прямий вплив на час автономної роботи. Я використовував інструмент розробника Apple під назвою Інструменти щоб виміряти вплив кількох програм на процесор мого iPhone.

Давайте використаємо додаток Facebook як приклад:

  • Відкриття програми Facebook із стану, що не працює, займає близько 3,3 секунди процесорного часу.
  • Закриття будь-якого додатка стирає його з пам'яті, повертає його до непрацюючого стану і практично не використовує час процесора - скажімо, 0,1 секунди.
  • Натискання кнопки 'Домашня сторінка' переводить програму Facebook у фоновий стан і використовує приблизно 0,6 секунди процесорного часу.
  • Відновлення програми Facebook із фонового стану забирає приблизно 0,3 секунди процесорного часу.

Отже, якщо ви відкриваєте програму Facebook із не запущеного стану (3.3), закриваєте її (.1) і знову відкриваєте з не запущеного стану (3.3), вона використовує 6,7 секунди часу процесора. Якщо ви відкриваєте програму Facebook із не запущеного стану, натисніть кнопку головного, щоб передати її у фоновий стан (.6), і відновіть її із фонового стану (.3), він використовує лише 4,1 секунди процесорного часу.

Оце Так! У цьому випадку закриття програми Facebook та її повторне відкриття знову використовуються Ще 2,6 секунди процесорного часу. Залишивши програму Facebook відкритою, ви витратили приблизно на 39% менше енергії!

І переможець - це ...

Не так швидко! Нам потрібно дивитись загальна картина щоб отримати більш точну оцінку ситуації.

Постановка споживання енергії на перспективу

39% звучить як багато, і Це є - поки не зрозумієш наскільки нескінченно мала кількість енергії, про яку ми говоримо, у порівнянні з потужністю, необхідною для використання вашого iPhone. Аргумент проти закриття своїх програм звучить чудово, поки ви цього не зрозумієте він заснований на статистиці, яка не має значення.

Як ми вже обговорювали, ви заощадите 2,6 секунди процесорного часу, якщо залишите програму Facebook відкритою, а не закриваєте. Але скільки енергії споживає додаток Facebook, коли ви ним користуєтесь?

Я прокручував свою стрічку новин протягом 10 секунд і використовував 10 секунд часу процесора, або 1 секунду часу процесора в секунду, коли я користувався додатком. Через 5 хвилин використання програми Facebook я б використав 300 секунд процесорного часу.

Іншими словами, мені довелося б 115 разів відкривати та закривати програму Facebook, щоб вплинути на строк служби акумулятора стільки, скільки 5 хвилин використання додаток Facebook. Що це означає, це:

Не вирішуйте, закривати свої програми чи ні, базуючись на незначній статистиці. Засновуйте своє рішення на тому, що найкраще підходить для вашого iPhone.

Але це не єдина причина, чому закривати програми - це гарна ідея. Жити далі…

Повільний і стабільний процес роботи процесора у фоновому режимі

Коли програма переходить у фоновий режим, вона продовжує використовувати заряд батареї, навіть коли iPhone спить у вашій кишені. Моє тестування програми Facebook підтверджує, що це відбувається навіть коли фонове оновлення програми вимкнено.

Після того, як я закрив додаток Facebook, він продовжував використовувати процесор, навіть коли iPhone було вимкнено. Протягом однієї хвилини він використав 0,9 секунди додаткового часу процесора. Через три хвилини, якщо залишити програму Facebook відкритою, це буде використовуватись більше потужності, ніж це було б, якби ми негайно закрили його.

Мораль історії така: Якщо ви використовуєте програму кожні кілька хвилин, не закривайте її кожного разу, коли користуєтесь нею. Якщо ви використовуєте його рідше, радимо закрити програму.

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

Проблеми з програмним забезпеченням трапляються постійно

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

Ви використовуєте програму, і раптом екран блимає, і ви знову потрапляєте на головний екран. Це те, що відбувається, коли програми аварійно працюють.

Ви також можете переглянути журнали збоїв Налаштування -> Конфіденційність -> Діагностика та використання -> Дані діагностики та використання.

Більшість збоїв програмного забезпечення не викликають турбот, особливо якщо ви закриєте свої програми. Часто програму, яка має проблеми з програмним забезпеченням, просто потрібно запустити з нуля.

Приклад поширеної проблеми програмного забезпечення

Настав час обіду, і ви помітили, що акумулятор вашого iPhone розрядився до 60%. За сніданком ви перевірили електронну пошту, послухали музику, зітхнули за балансом банківського рахунку, переглянули розмову на TED, переглянули Facebook, надіслали твіт і перевірили рахунок за минулу ніч з баскетбольного матчу.

Виправлення програми, що аварійно завершує роботу

Ви пам’ятаєте, що збійна програма може призвести до швидкого розряджання акумулятора і що закриття програми може це виправити, але ви не знаєте який додаток викликає проблему. У цьому випадку (і це реально), програма TED працює через центральний процесор, хоча я не використовую свій iPhone. Вирішити проблему можна одним із двох способів:

  1. Підключіть комп’ютер до Mac, завантажте та встановіть Xcode і Інструменти , увімкніть ваш iPhone для розробки, налаштуйте спеціальний тест для перевірки окремих процесів, що працюють на вашому iPhone, відсортуйте їх за використанням центрального процесора та закрийте програму, яка призводить до того, що ваш процесор залишатиметься на 100%.
  2. Закрийте свої програми.

Я обираю варіант 2 100% часу, і я виродка. (Я зібрав інформацію для цієї статті, використовуючи варіант 1.) Повторне відкриття програм із не запущеного стану використовує більше енергії, ніж їх відкриття у фоновому або призупиненому стані, але різниця незначна порівняно зі значним витратою енергії, що відбувається, коли програма аварій.

Чому я вважаю, що закриття ваших програм - це гарна ідея

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

Закрийте цю статтю

Ця стаття є більш глибокою, ніж статті, які я зазвичай пишу, але, сподіваюся, вона була цікавою і що ви дізналися щось нове про те, як працюють програми на вашому iPhone. Я закриваю свої програми кілька разів на день, і це допомагає мені підтримувати роботу iPhone якомога плавніше. На основі тестів та мого досвіду роботи з сотнями iPhone як технологією Apple, я можу впевнено сказати, що закриття ваших програм - це справді хороший спосіб заощадити заряд акумулятора iPhone.

Дякуємо за читання і пам’ятайте про те, щоб заплатити вперед,
Девід П.