Android P тепер аварійно завершує роботу програм замість того, щоб повідомляти вам, коли вони не відповідають

Android P тепер аварійно завершує роботу програм замість того, щоб повідомляти вам, що вони не відповідають (це діалогове вікно «Програма не відповідає» або «Помилка ANR»). Це тактика, яка використовується, щоб отримати від розробників погано створені програми, і вона може спрацювати.

Серед усіх нові доповнення до Android P включно нові жести навігації, Скибочки API, і новий біометричний API, є деякі інші зміни, які також можуть мати більш тонкий вплив. Одним із них є видалення діалогових вікон App Not Responding (ANR) для активних програм. Діалогове вікно ANR з’являється, коли щось заважає головному потоку інтерфейсу користувача відповісти. Коли це трапляється в Android Oreo або старіших версіях, користувачеві відображається діалогове вікно ANR, щоб повідомити про це. Тепер в Android P програма просто аварійно завершує роботу без будь-яких сповіщень для користувача.

Навіщо аварійно завершувати роботу програми, не повідомляючи користувачеві, що насправді сталося? Це не обов’язково приносить користь користувачам, але це змушує розробників приділяти особливу увагу певним проблемам і переконатися, що проблеми уникають. Розробникам рекомендується не запускати нічого в потокі переднього плану. У вихідному відео, на яке наведено посилання нижче, Google обговорює можливі рішення, щоб уникнути цієї проблеми, зокрема

API AsyncTask. Нещодавні обмеження Android щодо фонових служб означають, що перехід на службу, ймовірно, не є чудовою ідеєю. Радимо прослухати доповідь нижче, якщо вам цікаво дізнатися більше про вирішення цієї проблеми:

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

Це не єдина зміна в Android P щодо видимості того, що додатки роблять у фоновому режимі. Android Oreo представив постійне сповіщення, коли деякі програми працювали у фоновому режимі якщо ця програма не мала сповіщення з достатньо високим пріоритетом, але Android P тепер повністю позбавляється цього сповіщення. Єдина відмінність полягає в тому, що діалогове вікно ANR не так дратувало, як розміщення постійного сповіщення.


Через: /r/AndroidDev