Головне: Батарея телефона під мобільні проксі 24/7 помирає від календарного старіння при високому рівні заряду, а не від кількості циклів. Обмежуйте зарядку на рівні 80% через вбудований OEM-перемикач або розумну розетку плюс ADB-скрипт , позначте iProxy й OpenVPN як «Без обмежень» , вимкніть Економію заряду та Adaptive Battery в Android і тримайте температуру в приміщенні нижче 25°C. Усі ці заходи разом переводять типовий Android-телефон під проксі з втрати 30–40% ємності за 12 місяців у режим, коли він зберігає 90%+ ємності через рік: подовження ресурсу парку у 2–3 рази.
Чому здоров’я батареї стає обмежувачем для проксі-телефонів 24/7
Ресурс батареї телефона під мобільні проксі — це найбільша прогнозована стаття витрат у будь-якій цілодобовій операції Android-проксі. Мобільні проксі працюють на реальних Android-телефонах, які цілодобово підключені до мережі живлення, і сам телефон є витратним компонентом. На горизонті року-двох безперервної експлуатації саме батарея деградує першою. Типова літій-іонна комірка втрачає від 25 до 40 відсотків початкової ємності за 12–18 місяців некерованої зарядки. Телефон ще вмикається, але грітися під навантаженням починає сильніше, проксі-з’єднання обриваються частіше, і врешті комірка набрякає настільки, що корпус або екран відшаровується.
Лабораторні дані вже пояснюють чому. Таблиця зберігання BU-808 від Battery University оцінює, що Li-ion на основі кобальту, який зберігається при 25°C, через рік на 100% заряду зберігає близько 80% ємності проти 96% при 40% заряду; при 40°C варіант зі 100% падає до 65% за рік.
Для парку будь-якого розміру ця ротація стає найбільшою прогнозованою статтею витрат на роботу з мобільними проксі. Механізми старіння за нею добре вивчені й реагують на змінні, що їх оператор може контролювати: верхня межа напруги, на якій сидить комірка, час перебування на цій напрузі та температура експлуатації.
У цій статті розбираємо електрохімію того, як старіють літій-іонні комірки, наслідки для роботи 24/7, компроміси налаштувань з боку Android (багато функцій «економії заряду» насправді знижують аптайм проксі) та апаратні засоби для керування зарядкою на проксі-фермі з телефонів.
Як насправді працює літій-іонна комірка
Літій-іонна комірка має три функціональні частини: графітовий анод, катод із літій-кобальт-оксиду або спорідненої сполуки та електролітичний розчин, який дозволяє іонам літію курсувати між ними. Є ще сепаратор, що не дає електродам замкнутися, та струмознімачі з обох боків: мідь на аноді, алюміній на катоді.
Під час зарядки електрична сила витискає іони літію з ґратки катода та заштовхує їх у графітовий анод. Іони вбудовуються між шарами вуглецю в процесі, який називається інтеркаляцією. Під час розрядки іони рухаються назад, і енергія, що вивільняється при поверненні їх до катода, виходить у зовнішнє коло у вигляді електричного струму.
Рівень заряду (SoC, state of charge) комірки, тобто наскільки вона заповнена, відповідає тому, скільки літію зараз перебуває в аноді порівняно з катодом. На 100% SoC анод майже насичений. На 0% SoC насичений уже катод.
Напруга комірки це те, що телефон зчитує та показує як відсоток заряду. Але напруга не лінійна щодо SoC. Залежність ближча до розтягнутої S-подібної кривої, і саме ця нелінійність є найважливішим фактом усієї статті.
Крива напруги та «коліно» на 80%
Якщо побудувати графік напруги відносно SoC для типової літій-іонної комірки, проявляються три ділянки:
- Нижче ~20% SoC: напруга круто падає з близько 3,4В до межі відсічення в 3,0В. Нижче 3,0В комірка вимикається, щоб захистити себе.
- Між ~20% і ~80% SoC: напруга м’яко зростає з близько 3,6В до приблизно 4,05 В. Це спокійна, робоча ділянка кривої.
- Вище ~80% SoC: напруга різко лізе з 4,05 В до жорсткої стелі 4,20 В (деякі хімії доходять до 4,35В, але принцип той самий).
Перехід вище 80% часто називають «коліном» кривої. Це не маркетинговий поділ, а точка, де електрохімія перемикається з комфортної в напружену. На переході через коліно стаються дві речі:
- Графітовий анод стає майже повністю забитий літієм. Ґратка механічно роздута, як губка на межі розриву. Кожен наступний іон інтеркаляції коштує більше натягу й створює більше ризику структурних дефектів.
- Напруга наближається до вікна електрохімічної стабільності електроліту. На 4,20 В електроліт перебуває на межі того, де його молекули ще здатні вижити без розпаду. Вище цього побічні реакції прискорюються експоненційно.
Чому крива важливіша за відсоток Коли телефон показує «100%», комірка перебуває на ~4,20 В. Коли показує «80%», вона вже на ~4,05 В. На екрані це різниця у 20 пунктів, у напрузі — лише 0,15 В, а у швидкості старіння приблизно у 2–3 рази; BU-808 формулює це як приблизне подвоєння циклічного ресурсу за кожне зниження пікової напруги заряду на 0,10 В нижче 4,20 В на комірку.
Чому високий рівень заряду прискорює старіння
Домінуючий механізм старіння при високому SoC: зростання шару SEI (твердоелектролітна міжфазна плівка). SEI це тонка плівка, що утворюється на аноді під час першої зарядки комірки. Сама по собі вона корисна: захищає анод від безперервної реакції з електролітом. Але вона нестабільна. На високій напрузі електроліт повільно розкладається на поверхні SEI, нарощуючи її та поглинаючи невелику кількість циклічного літію щоразу. Цей літій уже втрачено, і корисна ємність комірки падає.
Зростання SEI приблизно описується арреніусівською залежністю від напруги й температури. Як правило, кожне зниження максимальної напруги заряду на 0,1 В приблизно подвоює циклічний ресурс комірки; та сама чутливість до напруги також зменшує навантаження від календарного старіння. Температура працює в той самий бік: кожні 10°C зниження робочої температури дають реальне продовження життя, а не косметику.
Є другий механізм, уже з боку катода. На високій напрузі перехідні метали (кобальт, марганець, нікель) можуть розчинятися з ґратки катода в електроліт, мігрувати на анод і осідати на його поверхні. Це отруює SEI та прискорює подальшу деградацію. Саме тому комірки, що звично заряджаються до 100%, можуть втрачати ємність швидше, ніж передбачає лише підрахунок циклів.
Календарне старіння, тобто деградація як функція часу, напруги та температури незалежно від того, чи циклюють комірку, є найважливішою змінною для телефона, який живе ввімкненим у розетку. Таблиця зберігання BU-808 дає число, яке прямо стосується оператора: Li-ion комірка, що зберігається на 100% SoC при 25°C, через рік зберігає близько 80%, тоді як у тій самій таблиці на 40% SoC залишається близько 96%. Рецензоване дослідження календарного старіння Li-ion комірок приходить до того самого висновку за напрямом: зберігання на 100% SoC дає великий вплив, а нижче 80% вплив малий.
Для телефона під проксі 24/7 висновок прямий: залишите його ввімкненим у розетку на 100%, і саме календарне старіння його і доб’є. Циклів він майже не накручує, бо завжди повний, тож натомість нічого корисного не отримує.
Чому глибокий розряд теж шкідливий
Дзеркальна проблема на низькому SoC обговорюється менше, але вона реальна.
Нижче ~20% SoC катод майже повністю забитий літієм, і його кристалічна структура стає нестабільною. У кобальтових катодах атоми кисню можуть починати виходити з ґратки. Нижче 2,5В, що значно нижче за «0%» телефона, мідний струмознімач з боку анода починає розчинятися в електроліті. Щойно комірка опускається так низько, на наступних перезарядках можуть формуватися дендритні відклади, що підвищують внутрішній опір і створюють ризик короткого замикання.
Прошивка телефона вимикає комірку задовго до цього, зазвичай на напрузі 3,0В на комірці, що відповідає показаним «0%» на екрані. Але повторюване циклування близько до відсічення все одно навантажує комірку, і та, що регулярно сідає до 5%, старітиме швидше за ту, що зупиняється на 30%.
Вікно між 20% і 80% SoC є структурно й електрохімічно найменш напруженим режимом для обох електродів. Саме в цьому і полягає причина, чому в дослідженнях батарей повторюється «правило 20–80».
Парадокс 79→80% проти 99→100%
Поширене непорозуміння: якщо телефон налаштовано заряджатися лише до 80%, то він же постійно крутиться між 79% і 80%? Чому це краще, ніж циклування між 99% і 100%?
Відповідь у тому, що сам розмір коливання у відсотках не важливий. Важлива напруга, на якій це коливання відбувається.
Цикл 79→80% переводить комірку приблизно з 4,00В на 4,05 В. Зростання SEI на цій напрузі повільне. Розклад електроліту повільний. Графітовій ґратці є куди гнутися. Комірка переживає це як м’який мікроцикл.
Цикл 99→100% переводить комірку приблизно з 4,17В на 4,20 В. Зростання SEI тут у декілька разів швидше. Швидкість окислення електроліту експоненційно вища. Графітова ґратка під максимальним напруженням. Навіть докидання 1% на цьому рівні завдає непропорційної шкоди.
На практиці телефон, обмежений 80%, який більшість часу мікроциклює навколо позначки 4,00В, може пережити необмежений телефон у 2–5 разів. Таблиця напруги заряду BU-808 оцінює 300–500 циклів при 4,20 В на комірку, 600–1000 при 4,06В і 1200–2000 при 3,92В, і саме цей діапазон стає актуальним, коли проксі-телефон перестає вічно стояти на 100%.
Що вбиває батареї в роботі проксі 24/7, за порядком
Для телефона, який живе ввімкненим у розетку як проксі-вузол, домінуючі механізми старіння в орієнтовному порядку впливу:
- Календарне старіння при високому SoC. Сидіти на 100% годинами чи добами це найгірший патерн. Флоат-напруга 4,20 В тягне стабільне зростання SEI.
- Нагрів. Таблиця зберігання BU-808 оцінює близько 80% залишкової ємності через рік при 25°C та 100% заряду, але лише 65% при 40°C і 100%. Телефон у стійці, біля стіни, влітку, без обдуву працює у дорогій частині цієї кривої.
- Висока швидкість заряду (C-rate). Швидка зарядка нагріває комірку та навантажує електроди. Для роботи 24/7 повільна зарядка при 0,3–0,5C набагато краща за швидку.
- Глибокі розряди. Менш критично для постійно ввімкнених телефонів, але якщо телефон при поодиноких просадках живлення падає до 5%, такі епізоди накопичують шкоду швидше, ніж той самий телефон, що зупиняється на 30%.
- Кількість циклів. Це те, що міряють специфікації циклічного ресурсу, але для завжди ввімкненого телефона воно майже нерелевантне. Телефон циклить мало, і керують ситуацією календарні ефекти.
Корисна ментальна модель: вважайте кожну хвилину, проведену вище 4,10В на комірці, дорогою, кожну хвилину між 3,7В і 4,05 В дешевою, а кожну хвилину нижче 3,4В знову дорогою.
Функції живлення Android та їхній вплив на аптайм проксі
Тут стають у пригоді дві ментальні моделі.
Перша це система App Standby Buckets (бакетів очікування додатків), яка з’явилася в Android 9 і затягується з кожним наступним релізом. Кожен застосунок сидить в одному з п’яти бакетів (active, working_set, frequent, rare або restricted) залежно від того, наскільки часто з ним взаємодіє користувач. Додатки в нижчих бакетах отримують поступово менше джобів, алярмів і (у rare й restricted) мережевого доступу. Поверх призначення бакетів накладається Adaptive Battery (теж з Android 9) із моделлю машинного навчання. Під усім цим лежить Doze mode (Android 6), який відкладає фонову мережу та CPU, коли телефон простоює нерухомо.
Друга це контракт foreground service. Застосунок, який тримає foreground-сервіс із видимим постійним повідомленням, ОС вважає роботою, помітною для користувача, тож більшість обмежень за бакетами призупиняються, поки сервіс працює. iProxy, як і будь-який довгограючий мережевий додаток, спирається на foreground-сервіс, щоб лишатися досяжним.
Корисне застереження з офіційної документації Android Standby Bucket: «Ці обмеження діють лише поки пристрій працює від батареї. Поки пристрій заряджається, система не накладає цих обмежень». Саме завдяки цьому виключенню телефон, який щохвилини стоїть увімкненим у розетку, зазвичай нормально тримає проксі, навіть якщо інакше опинився б у бакеті rare чи frequent. І саме тому телефон на циклованій зарядці через розумну розетку, який поперемінно заряджається й не заряджається, може раптом упертися в обмеження бакетів у фазах без зарядки. І саме тому дві конкретні зміни діють незалежно від стану зарядки: бакет restricted в Android 12 та ліміт foreground-сервісу в Android 15.
Далі йде версійне зведення змін, що мають значення для проксі-додатка 24/7, з фокусом на тому, що має зробити оператор.
Шукаєте покрокові інструкції? Підрозділи нижче пояснюють, що змінилось у кожному релізі та чому. Конкретні тапи, щоб поставити iProxy й OpenVPN for Android у режим «Без обмежень» на кожній версії Android, зі скриншотами, дивіться у гайді з вимкнення оптимізації батареї для iProxy та OpenVPN . Для системних перемикачів (Економія заряду, Adaptive Battery, ліміт заряду 80%) існує супутній гайд із вимкнення системних режимів економії та налаштування ліміту 80% на проксі-телефонах .
Android 9 (API 28): App Standby Buckets, Adaptive Battery, FOREGROUND_SERVICE
- З’являються App Standby Buckets і Adaptive Battery. Додатки в нижчих бакетах отримують прогресивно урізані джоби й алярми.
- Додатки, націлені на Android 9, повинні запитувати дозвіл
FOREGROUND_SERVICE. Без нього старт foreground-сервісу падає зSecurityException. - Сповіщення від призупинених додатків ховаються до відновлення додатка, а не скасовуються одразу.
Для ввімкненого в розетку проксі-телефона на Android 9 нічого з цього не фатальне, поки додаток тримає foreground-сервіс.
Android 10 (API 29): обмеження запуску активностей з фону
- Додатки у фоні більше не можуть запускати активності, з невеликим переліком винятків (трамплін-сповіщення, accessibility тощо).
- Фонова геолокація тепер вимагає окремого runtime-дозволу (
ACCESS_BACKGROUND_LOCATION), відмінного від звичайної.
Проксі-додаток зазвичай не піднімає активностей з фону, тож вплив мінімальний. Зміна має значення лише якщо застосунок піднімає свій UI за віддаленою командою.
Android 11 (API 30): автоскидання дозволів, обов’язковий WorkManager
- Runtime-дозволи автоматично скидаються для додатків, з якими користувач не взаємодіяв «кілька місяців». Це попередник повноцінної гібернації застосунків з Android 12.
- Firebase JobDispatcher і GcmNetworkManager вимикаються для додатків з target API 30+. WorkManager стає єдиним підтримуваним планувальником.
- Фонову геолокацію більше не можна запросити через звичайний runtime-діалог. Користувач має дати її явно з налаштувань.
Для проксі-додатка, який користувач встановив один раз і більше візуально не відкриває, автоскидання є реальним ризиком. Або користувач має періодично заходити в додаток наживо, або гібернацію треба вимикати окремо на додаток (перемикач з’являється в Android 12).
Android 12 (API 31): гібернація додатків, бакет restricted, заборона FGS з фону
Це перша версія, де одразу кілька змін можуть зламати проксі 24/7 на телефоні, який інакше постійно живе у розетці.
- Гібернація додатків. Розвиток автоскидання з Android 11. Додатки, не використані кілька місяців, втрачають дозволи й поміщаються у стан гібернації, з якого не можуть працювати у фоні, поки їх знову не відкриють. Перемикач на додаток: Налаштування → Додатки → iProxy → вимкнути «Призупиняти роботу додатка, якщо не використовується» (або еквівалентну OEM-назву).
- Restricted standby bucket. Новий п’ятий бакет, нижчий за
rare. Обмеження діють навіть під час зарядки: максимум один джоб на добу в 10-хвилинній пакетній сесії, один алярм на добу (точний чи неточний) і жорсткий тротлінг мережі. Тригер: користувач не взаємодіяв з додатком 45 днів, або додаток позначено як такий, що зловживає бродкастами чи прив’язками. - Foreground-сервіси не можна стартувати з фону. Додатки, націлені на Android 12+, більше не можуть запускати foreground-сервіс, коли сам додаток у фоні, окрім вузького переліку винятків (алярми, push-повідомлення, accessibility-сервіси, тапи по сповіщеннях). Foreground-сервіс проксі має стартувати з контексту, який ОС вважає переднім планом (завершення завантаження, exact alarm, дія користувача).
- Ліміт фантомних процесів. 32 дочірні процеси на додаток. Стосується тих, хто плодить багато підпроцесів; однопроцесний проксі-додаток сюди майже не впирається.
Дії оператора на Android 12+: явно вимкнути гібернацію для проксі-додатка, переконатися, що FGS стартує з дозволеного контексту, і наживо відкривати додаток принаймні раз на пару місяців, щоб тримати його поза бакетом rare і подалі від 45-денного тригера restricted.
Android 13 (API 33): runtime-дозвіл POST_NOTIFICATIONS, затягування restricted
- POST_NOTIFICATIONS як runtime-дозвіл. Додатки з target API 33+ мають запитувати його перед показом звичайних сповіщень. Документація Android з дозволу на сповіщення робить важливе уточнення для foreground-сервісів: якщо користувач відмовив у дозволі, повідомлення foreground-сервісу все одно показуються в Task Manager, але не у шторці сповіщень. Це означає, що сервіс не перетворюється на звичайний фоновий через відмову у дозволі, але оператор втрачає постійний індикатор у шторці, по якому помічав би падіння й рестарти.
- Тригер бакета restricted скорочено з 45 днів до 8 днів для додатків з target Android 13+. Проксі-додаток, який користувач наживо не відкривав один календарний тиждень, може провалитися в
restricted. - BOOT_COMPLETED придушено в стані «restricted» від користувача. Документація Android зазначає: «Якщо користувач переводить ваш додаток у стан обмеження фонового використання батареї, поки ваш додаток таргетує Android 13, система не доставляє бродкаст BOOT_COMPLETED чи LOCKED_BOOT_COMPLETED, поки додаток не запуститься з інших причин». Автозапуск на завантаженні в цьому стані не гарантовано.
- UI Task Manager дозволяє користувачам бачити й зупиняти foreground-сервіси зі шторки сповіщень незалежно від видачі дозволу на сповіщення.
Дії оператора на Android 13+: видати POST_NOTIFICATIONS одразу при встановленні для видимості й діагностики, поставити проксі-додаток у «Без обмежень» у налаштуваннях батареї на додаток і визнати, що 8-денне вікно означає необхідність періодично оживляти додаток, або через звичайне використання, або через зовнішній воч-доґ (ADB-скрипт + cron), який відкриває додаток за фіксованим розкладом.
Android 14 (API 34): обов’язкові типи foreground-сервісів, ANR у JobScheduler
- Обов’язкове оголошення типу foreground-сервісу. Кожен довгограючий foreground-сервіс має оголосити свій тип у маніфесті:
dataSync,mediaPlayback,connectedDevice,specialUse,shortService,health,remoteMessagingтощо. Додатки без типу вбиваються; неправильно задекларовані можуть бути позначені політикою Google Play. - Примусове ANR від JobScheduler. Якщо
onStartJobабоonStopJobвиконується надто довго на головному потоці, система піднімає ANR («No response to onStartJob»). Раніше це валилося мовчки. - ACCESS_NETWORK_STATE обов’язковий для викликів JobScheduler, які використовують
setRequiredNetworkType()чиsetRequiredNetwork(). Без нього летитьSecurityException.
Найбільша зміна для проксі-додатків стосується оголошення типу foreground-сервісу. Вибір неправильного типу тепер впливає на те, які обмеження застосовуються, включно з 6-годинним лімітом Android 15, про який далі.
Android 15 (API 35): 6-годинний ліміт на foreground-сервіс
- Для додатків з target Android 15 типи foreground-сервісу
dataSyncі новийmediaProcessingпідпадають під кумулятивний ліміт у 6 годин на 24-годинне вікно, згідно з документацією Android щодо таймауту foreground-сервісу . Після 6 годин роботи FGS система викликаєService.onTimeout(), і якщо сервіс не виконуєstopSelf()за лічені секунди, то кидаєRemoteServiceException(«A foreground service of type dataSync did not stop within its timeout»). - Після вичерпання квоти спроба стартувати ще один FGS типу
dataSync(чиmediaProcessing) кидаєForegroundServiceStartNotAllowedExceptionзі сповіщенням «Time limit already exhausted for foreground service type dataSync». - Бюджет у 6 годин скидається, коли користувач виводить додаток на передній план. Для проксі-вузла 24/7 саме по собі це не стається.
- Типи foreground-сервісу, на які 6-годинний ліміт не поширюється:
specialUse,connectedDevice,mediaPlayback,camera,phoneCall,microphone,location(з урахуванням поточної політики Google Play щодо доречного використання кожного типу).
Для проксі-додатка ця зміна є найімовірнішою причиною зламаного 24/7-сетапу. Мітигація полягає в тому, щоб оголосити тип FGS, який не підпадає під ліміт і пасує до призначення додатка. Роль iProxy з пересиланням трафіку ближча до specialUse або connectedDevice, ніж до dataSync, який Google задумував для періодичної синхронізації даних користувача, а не для постійного пересилання трафіку.
Android 16 (API 36): затягування квот JobScheduler
- Квоти runtime джобів за бакетами очікування тепер застосовуються і до бакета
active, а не лише до нижчих, згідно з документацією Android 16 щодо змін поведінки . - Квоти джобів у top-стейті та одночасно з FGS. Джоби, які стартують, поки додаток видимий, і продовжуються після того, як він стає невидимим, плюс джоби, що працюють одночасно з foreground-сервісом, тепер дотримуються рантайм-квот, які раніше обходили.
JobInfo.setImportantWhileForegroundповністю депрекейтнутий і ігнорується.scheduleAtFixedRateпісля повернення додатка до валідного лайфциклу наздоганяє лише одне пропущене виконання. Раніше всі пропущені виконання запускалися одразу.- Нова причина зупинки
STOP_REASON_TIMEOUT_ABANDONEDвідрізняє джоби, які не були належно прибрані, від звичайних таймаутів.
Для проксі-додатка, який використовує джоби поруч з основним FGS, практичний ефект такий: джоби не можуть розраховувати на необмежений рантайм за рахунок одночасної роботи з FGS. Довга робота має жити всередині самого FGS або в job-і користувацької передачі даних.
Android 17 (API 37): подальші обмеження запуску активностей з фону
- BAL (Background Activity Launch) затягнуто. Додатки, які раніше використовували
MODE_BACKGROUND_ACTIVITY_START_ALLOWED, мають переходити наMODE_BACKGROUND_ACTIVITY_START_ALLOW_IF_VISIBLE, або змиритися з тим, що фонові запуски активностей блокуватимуться. - Жорсткіше тло аудіо. Програвання аудіо, audio focus і API гучності тепер вимагають або FGS із «while-in-use», або дозволу на точні алярми з аудіопотоками
USAGE_ALARM. Стосується переважно медіа-додатків.
Для типового проксі-додатка Android 17 здебільшого невидимий: переконайтесь, що targetSdkVersion актуальний і додаток не покладається на старт активностей з фону.
OEM-вбивці (ортогональні до версії Android)
Незалежно від чистого Android, OEM-оболонки везуть з собою агресивне керування батареєю: від терпимого (стоковий Pixel) до відверто ворожого (Huawei). Патерни та порадник на вендора:
| OEM / оболонка | Агресивна функція | Стан за замовчуванням | Що поставити для проксі та VPN |
|---|---|---|---|
| Google Pixel (стоковий Android) | Оптимізація батареї на додаток, Adaptive Battery, App Standby Buckets | Optimized | Unrestricted для iProxy + OpenVPN; на парку без нагляду варто вимкнути Adaptive Battery |
| Xiaomi (MIUI, HyperOS) | Менеджер автостарту, MIUI battery saver, попередження про «high power consumption» | Обмежувальний (автостарт для несистемних додатків вимкнено) | Автостарт увімк., закріпити в Recents, батарея на додаток у режимі Без обмежень |
| Samsung (One UI) | «Усипляти невикористані додатки», списки Sleeping apps і Deep sleeping apps | Список Sleeping автоматично зростає з часом | Додати в Never sleeping apps; переконатися, що жодного з двох додатків немає в Sleeping чи Deep sleeping; «Усипляти невикористані додатки» вимк. |
| Realme / Oppo / OnePlus (ColorOS) | Попередження про «High background power consumption», які ведуть до kill-дії, App start manager | Стоково агресивний | Дозволити автозапуск увімк., Background freeze вимк., Abnormal apps optimization вимк. |
| Huawei / Honor (EMUI, HarmonyOS) | Protected apps, ручне закріплення запуску, системний клінер | Захист вимкнено за замовчуванням | Додати в Protected apps; у Launch → Manage manually увімкнути Auto-launch, Secondary launch, Run in background |
Кілька зауваг про найбільших порушників. Xiaomi MIUI та HyperOS з коробки забороняють автостарт усьому, крім системних додатків, тож без явного перемикача автостарту проксі-додаток просто не стартує після перезавантаження. Samsung One UI тримає прихований список Sleeping apps, який автоматично росте: проксі-додаток, який оператор не відкривав вручну, може опинитися в ньому за кілька тижнів після того, як початкове налаштування виглядало правильним. Huawei EMUI та HarmonyOS історично вимагали позначати додаток як «protected» через окремий екран Battery Manager; без цього системний клінер вбиває його через лічені хвилини після переходу у фон.
Проєкт-довідник dontkillmyapp.com , який підтримує спільнота, відстежує найжорсткіші OEM-вбивці та мітигації по вендорах за шкалою 1–5 і вартий закладки для будь-кого, хто тримає змішаний парк. Версійний компаньйон до цієї таблиці (Battery Saver, Adaptive Battery, ліміт заряду 80% на Pixel і Samsung) лежить у системному гайді з економії заряду .
Політика сну Wi-Fi
Деякі телефони вимикають Wi-Fi, коли екран згаслий, щоб економити заряд. Для проксі це фатально: телефон падає на мобільну передачу даних або взагалі рве проксі-з’єднання. Зафіксуйте Wi-Fi на «завжди ввімкнений» або «не вимикати під час зарядки», зазвичай у Налаштування → Wi-Fi → Додатково → Тримати Wi-Fi увімкненим під час сну.
Що робити, за пріоритетом
- Повністю вимкніть Економію заряду. Не дозволяйте їй вмикатися автоматично. Див. версійний гайд .
- Поставте iProxy та будь-який VPN-тунель, на який він спирається, у «Без обмежень» (або «Не оптимізувати») у налаштуваннях батареї на додаток. Шлях відрізняється від версії до версії; покрокова інструкція для кожної версії з 9 по 16 лежить у гайді з покрокового переведення в Unrestricted .
- Видайте POST_NOTIFICATIONS одразу при встановленні (Android 13+).
- Вимкніть гібернацію додатка та «pause when unused» для проксі-додатка (Android 12+).
- Додайте проксі-додаток у виключення OEM-вбивць за таблицею вище. Xiaomi: автостарт увімк., закріпити в recents. Samsung: deep sleep вимк., never sleeping app увімк. Realme/Oppo: keep alive увімк. Huawei: protected app увімк.
- Ніколи не натискайте «Force stop» на екрані інформації про додаток. На Android 15+ стан stopped тримається до прямої чи непрямої дії користувача й скасовує відкладені інтенти; якщо це сталося, запустіть додаток знову.
- Перевірте тип foreground-сервісу проксі-додатка, щоб він не підпадав під 6-годинний ліміт (Android 15+, target SDK 35+).
- Зафіксуйте Wi-Fi у «завжди ввімкнений» під час зарядки.
- Вимкніть Adaptive Battery або змиріться з тим, що вона може деприоритизувати проксі-додаток, і періодично перевіряйте.
- Вимкніть Data Saver і будь-які перемикачі «обмежити фонові дані».
- Наживо відкривайте проксі-додаток кожні кілька тижнів, щоб тримати його поза бакетами
rareіrestricted(особливо на Android 13+, деrestrictedтригериться вже після 8 днів простою).
Загальне правило Якщо налаштування обіцяє економити заряд через обмеження фонової активності, воно шкодить аптайму проксі. Проксі це і є фонова активність. Вимкніть усе з цієї категорії, а заради ресурсу батареї покладайтеся на заходи з боку зарядки (про них далі).
Апаратне рішення: розумні розетки та запланована зарядка
Найнадійніший спосіб тримати телефон 24/7 у зоні 20–80% полягає в тому, щоб керувати самою подачею живлення, а не покладатися на софт. У деяких телефонів є вбудований ліміт заряду (на Pixel 6a+ від Google це «Limit to 80%», у Samsung One UI 6.1+ це «Battery protection», у Sony це «Battery Care», у Xiaomi на обраних моделях HyperOS прихований ліміт 80%), але у більшості його немає, і навіть там, де є, реалізація буває непослідовною.
Розумна розетка, тобто Wi-Fi-керована мережева розетка, розв’язує це універсально. Розетка вмикає та вимикає зарядний пристрій за розкладом. Телефон віддає свій рівень заряду мережею (або він видно з будь-якого дашборда керування парком), і простий цикл заряджає до ~80%, простоює і відновлює зарядку, коли SoC падає до ~30%.
Робочі варіанти:
- Готові розумні розетки. TP-Link Tapo, Sonoff і подібні Wi-Fi-розетки коштують $5–$15 за штуку та інтегруються з більшістю платформ домашньої автоматизації. Грубий підхід полягає у фіксованому розкладі (заряджаємо 4 години, не заряджаємо 8), якого як першого наближення достатньо, але він не відстежує реальний SoC.
- Прошивка Tasmota чи ESPHome. Перепрошивка розумної розетки відкритою прошивкою дає керування через MQTT або локальний HTTP API, що означає: скрипт може опитувати реальний рівень заряду телефона й перемикати розетку.
- Home Assistant. Якщо Home Assistant уже працює, інтеграція проста: сенсор заряду (через ADB-скрипт або окремий додаток, що віщає рівень заряду) зчитує SoC, а автоматизація вмикає й вимикає розетку за порогами.
- Саморобні розриви USB-лінії. Реле на лінії живлення USB, кероване ESP32 чи Raspberry Pi, робить те саме ближче до пристрою. На масштабі це найдешевше, але водночас найкрихкіше.
Універсальний рецепт (розумна розетка плюс маленький ADB-скрипт, який зчитує SoC з телефона й перемикає розетку на 30% і 80%), що працює на будь-якій моделі Android незалежно від того, чи є вбудований ліміт, шукайте у розділі про розумну розетку + ADB-скрипт у системному гайді з економії заряду .
Застереження: тримайте телефон живим Деякі телефони йдуть у глибокий сон чи гібернують, коли зарядний пристрій від’єднано, навіть з увімкненим екраном. Перевірте конкретну модель: переконайтеся, що телефон ще обслуговує проксі-трафік, поки розумна розетка перебуває у фазі «вимк.». Якщо ні, може знадобитися додаток-вейклок, або інтервали «вимк.» доведеться зробити коротшими.
Розумний цільовий розклад для більшості телефонів: заряд до 80% (зазвичай 1–2 години з 30%), простій, доки SoC не впаде до 30% (зазвичай 8–12 годин нормального проксі-трафіку), потім знову заряд. Виходить 2–3 часткових цикли на добу в м’якому діапазоні напруги, замість постійного флоату на 4,20 В.
Практичний чек-лист довговічності для проксі-операторів
Налаштуйте кожен телефон один раз, бажано ще до того, як він піде в продакшен:
- Обмежте зарядку 80% будь-яким доступним способом: вбудований OEM-перемикач (Pixel 6a+, Samsung One UI 6.1+) або розумна розетка за розкладом. Універсальний ADB-рецепт працює на будь-якій моделі.
- Не давайте SoC падати нижче 20%. Якщо трафік висаджує телефон швидше, ніж зарядка встигає тримати його повним, це проблема проводки або потужності зарядного пристрою, яку варто розв’язати ще до того, як комірка почне приймати на себе шкоду.
- Вимкніть Економію заряду й Adaptive Battery на рівні ОС. Див. системний гайд з батареї .
- Поставте iProxy та OpenVPN у «Без обмежень» у налаштуваннях батареї на додаток, плюс автостарт, плюс закріплення у фоні. Версійний гайд: вимкнути оптимізацію батареї для iProxy та OpenVPN .
- Додайте проксі-додаток у виключення OEM-вбивць за таблицею вище. Xiaomi: автостарт увімк., закріпити в recents. Samsung: deep sleep вимк., never sleeping app увімк. Realme/Oppo: keep alive увімк. Huawei: protected app увімк.
- Зафіксуйте Wi-Fi у «завжди ввімкнений» під час зарядки, без сну.
- Беріть пристрої зі штатним лімітом 80% там, де це можливо. Сторінка рекомендованих Android-пристроїв для iProxy спеціально позначає Pixel 8/9 і свіжі моделі Galaxy за наявність цієї функції.
- Заряджайте повільно. Для постійної роботи беріть блок 1А або 1,5А, а не швидкий зарядний пристрій на 3 А. Менший струм означає нижчі температури і менший стрес на комірку.
- Стежте за температурою. Не складайте телефони щільно. Не кладіть їх на роутери, модеми чи під пряме сонце. Цільте на повітря довкола телефонів, бажано до 25°C. Обдув важливий; див. розділ про гігієну парку у гайді зі створення мережі 4G-проксі .
- Аудит щокварталу. Оновлення Android можуть знову вмикати раніше вимкнені функції. Перевіряйте кожні 90 днів. Чек-лист налаштувань з’єднання охоплює загальнішу операторську гігієну, яка добре пасує до цього аудиту.
Коли виводити телефон з експлуатації
Навіть з найкращим доглядом батарея лишається витратним матеріалом. Практичний поріг для виведення проксі-телефона настає, коли ємність падає нижче приблизно 70% від нової. Нижче цього зазвичай стається три речі:
- Напруга сильніше просідає під навантаженням, виходять переривчасті обриви, особливо на піках трафіку.
- Комірка швидше нагрівається, прискорюючи власну деградацію.
- Стає вірогідним фізичне здуття. Розпухла комірка може віджати екран, задню кришку або в рідкісних випадках пробитися й загорітися.
Більшість Android-телефонів показують стан батареї в налаштуваннях або через ADB (dumpsys battery). Оператор, який тримає парк, має моніторити стан щомісяця та ротувати телефони ще до того, як починається здуття. Телефон, виведений на 70% ємності та перепроданий або перепрофільований, це запланована витрата; телефон, що роздув собі екран на 50%, це вже запланована витрата плюс знищений пристрій. Правильний вибір заліза на старті тут окуповується: список рекомендованих пристроїв iProxy
відстежує моделі з довгою підтримкою ОС, передбачуваними меню батареї та вбудованим лімітом 80%, який спрощує все, описане в цій статті.
Опорні числа
Рекомендації цієї статті (ліміт 80%, уникати флоату на 100%, повільна зарядка, контроль температури, налаштування Android так, щоб він не рвав проксі) не є довільними «найкращими практиками». За кожною стоїть конкретний механізм деградації, який експоненційно масштабується з напругою чи температурою: зростання SEI, розчинення перехідних металів з катода, окислення електроліту, арреніусівське масштабування з температурою. Комірки справді чутливі до напруги й температури у спосіб, який індикатор відсотків на екрані не показує.
Дві опорні точки для прикидки витрат і вигоди. Сприймайте їх як орієнтири для планування парку, а не гарантію для будь-якої хімії комірок: базова лінія йде від таблиць зберігання та напруги BU-808, а сценарій проксі 24/7 додає згори реальний нагрів, швидкі зарядні пристрої та змінні Android-без-нагляду.
- Телефон під проксі 24/7 із дефолтними налаштуваннями Android, увімкнений у швидкий зарядник, що весь час сидить на 100%, у теплій стійці: зазвичай втрачає 30–40% початкової ємності за 12 місяців.
- Той самий телефон, обмежений 80%, що повільно заряджається через розумну розетку, з вимкненими системними економайзерами та занесеними у виключення OEM-вбивцями, у приміщенні з 22°C та обдувом: зазвичай зберігає 90% або більше початкової ємності через 12 місяців і має шанс лишатися вище порога виведення 70% і на 36-му місяці.
Вартість конфігурації невелика: розумна розетка на пристрій, разовий аудит налаштувань на модель телефона, плюс перемикачі на додаток і на систему, описані в гайді з переведення в Unrestricted на додаток та системному гайді з економії заряду . Капітальна різниця між заміною телефона раз на 12 місяців і раз на 30–36 місяців лінійно зростає з парком, і на будь-якому парку понад п’ять пристроїв окуповує час на налаштування вже за перший квартал.