Зміст:
Компанія, яка виробляє ваш телефон Android, неправильно керує пам’яттю Android. Оскільки кращі практики та в деяких випадках фактичні вимоги щодо доступу до Google Play не дотримуються, розробники додатків бачать новий набір головних болів, якщо створені ними програми потрібні для роботи, коли ви дивитесь на інший екран або поверніть дисплей вимкнено. На щастя, команда Urbandroid донесла до нас увагу з Dontkillmyapp.com. Тут ви знайдете докладні описи проблеми, а також показники показників для популярних виробників Android, які оцінюють рівень зловживань у кожного з 1-5 пальми лайна. Монтаж
Заява на сторінці GitHub веб-сайту пояснює:
Зрештою, кожен інді-розробник Android хоча б частково впливає на це питання.
Ми в команді Urbandroid сильно впливаємо на наш додаток Sleep as Android, і ми зібрали стільки інформації про хаки та обхідні шляхи, що відчули потребу в обміні інформацією. Ми почали, звернувшись до окремих розробників інді з пропозиціями щодо обміну інформацією, що призвело до ідеї більш ефективного підходу у вигляді веб-сайту з відкритим кодом.
"Проблема" полягає в тому, що компанії, що виробляють телефони, змінили, як такі життєво важливі компоненти Android, як Doze; створили додатки, призначені для агресивного розгортання та вбивства додатків, які використовують системні ресурси; і навіть створювати білі списки, які говорять, які програми можна запускати, а не на екрані. Це робить додатки, які повинні працювати у фоновому режимі - наприклад, сплячий режим Urbandroid як Android, не в змозі зробити те, що вони мали намір робити.
Все це потрапляє на вуха розробника додатків, оскільки нещасні клієнти не розуміють, як працює управління пам'яттю в Android (а також не потрібно), і чому це не просто ізольовано від їхнього постраждалого додатка. Нещасні клієнти заробляють для нещасних розробників, а це п’ять купу лайно погано для всіх нас.
Не всі Android є відкритими
Ви можете подумати: "Ну і що? Android є відкритим кодом, і компанії, які використовують його, можуть робити все, що завгодно, з кодом", і ви певною мірою маєте рацію. Але все це змінюється, як тільки виробник телефону захоче отримати доступ до Google Play.
Доступ до магазину Google Play не надається вільно - є угода, яку повинні дотримуватися обидві сторони.
Отримання доступу до Google Play вимагає дотримання деяких правил, багато з яких на перший погляд здаються довільними. Це більш широка дискусія для іншої статті чи двох, але суть її полягає в тому, що Google хоче мати мінімум речей на кожному телефоні, щоб кожен додаток у Play Store працював до тих пір, поки телефон підтримується. версія. Іншими словами, якщо в списку додатків сказано, що для запуску потрібен Android 4 або новішої версії, кожен телефон, на якому працює операційна система Android 4 або новішої версії, повинен мати змогу встановлювати та використовувати програму. Немає винятків.
Існує кілька детальних способів, як розробник, який хоче або потребує програми, щоб бути живим і працювати у фоновому режимі - коли ви не активно дивитесь на екран - робити це таким чином, який відповідає всім телефонам. Потім Google може також покращити інші частини Android і знати, з чим не возитися, якщо він хоче, щоб усі додатки все ще працювали, щоб він міг намагатися залишатись зворотними.
Це не завжди працює. Кожна людина, у якої був телефон Nexus або Pixel, скаже вам, що нові версії Android часто призводять до того, що додатки більше не працюють, а деякі ніколи не оновлюються. Іноді доводиться приймати рішення і відрізати стару функцію, щоб замінити її чимось новим. І компанія Google почала займатися безладною часом та двома справами, як, наприклад, початковий випуск Doze в Android 6.0.
Важливо бути послідовним, якщо ви хочете використовувати інші продукти Google. Навіть із програмним забезпеченням з відкритим кодом.
Як ми потрапили сюди?
Виробники смартфонів роблять це не просто заради задоволення. Кожна компанія, що виробляє телефони, хоче, щоб вам сподобався товар, який ви купуєте у них, достатньо, щоб переглянути його бренд наступного разу, коли купуєте телефон. Якщо додатки вбивались без будь-якої причини, це не допоможе.
Коли ми купуємо телефон, зазвичай, одна річ, близька до верхньої частини списку речей, які ми хочемо від нього: тривалий час автономної роботи. Один із способів збільшити тривалість роботи акумулятора - обмежити те, що може зробити телефон; тому потрібно лише заряджати «німий» телефон пару разів на тиждень. Це насправді не дуже багато, особливо коли це не в твоїх руках. Смартфони, однак, потребують багатьох справ.
Вбивство фонових завдань може бути корисним для вашого акумулятора, але це робить ваш смартфон німим.
У Google є система, яка переводить програми в стан "сну", коли вони активно нічого не роблять, але можуть знадобитися в майбутньому. Було зроблено багато роботи - деякі хороші, деякі погані - щоб збалансувати речі, щоб у вас був телефон, який може робити такі речі, як відстежувати ваші кроки, стежити за сном або діяти як музичний плеєр, поки екран вимкнений, не розряджаючи акумулятор. Він очікує використання цих методів та дотримання правил, щоб ми отримували цю послідовність від кожного додатка в Play Store.
Зі списку Dontkillmyapp, Nokia - це приклад, який я буду використовувати тут, але до списку правопорушників входять також OnePlus, Sony та Samsung. Навіть Google сам покликаний зробити це важким звільненням програми від "Dozed". Nokia включає в себе додаток на кожному телефоні, який компанія робить, на якому працює Android Oreo або вище, який вбиває кожен фоновий процес через 20 хвилин після вимкнення екрана. Це означає, що додатки для фітнесу ніколи не працюватимуть, але це також означає, що ваш будильник не вимкнеться, якщо у вас є Android P.
Як ми дійшли до того, що наші смартфони не можуть бути розумними? Оскільки ми вимагали більшого терміну служби акумулятора, а компанії, що роблять телефони, також приймають погані рішення, щоб передавати його нам. Виробник телефону, який може мати великий вплив на час автономної роботи, Android може зробити дуже багато. Одне з речей, що можна зробити, - це вбити додатки, які, можливо, не потребують живих. Коли одному із вбитих додатків потрібно було жити, він просто не працює за призначенням.
Google потрібно затягнути хомути
Я ненавиджу це говорити. Android - це проект з відкритим кодом, який протягом багатьох років зазнав неймовірної розробки компаній, які не назвали Google. Компанії, що використовують Android, повинні робити все, що вони хочуть, і просунути всі межі, щоб зробити це краще. Але потім ми знову повернемося до цієї послідовності для додатків із Play Store.
Користувачі - включаючи користувачів типу, які знають та розуміють подібну проблему - заслуговують на краще. Google повинен зробити так, коли мова йде про додатки з його магазину, а також змінювати та застосовувати все необхідне, щоб зробити це так. Робіть це без будь-якого участі користувачів, і робіть це послідовно, незалежно від того, наскільки велика компанія "ображає" чи скільки телефонів вона продає.
Ми на це заслужили.