9. Тестирование энергопотребления и нагрузки на батарею
Дружище, тестирование батареи — это не просто «ой, быстро садится»! В мобильных приложениях можно всё сломать так, что телефон будет жрать заряд, как голодный студент доширак. Давай разберём, почему это важно, что тестить, и какие инструменты помогут найти прожорливые баги.
⚡ Зачем тестировать энергопотребление?
📉 Плохая оптимизация — плохие отзывы. Если приложение высаживает батарею за пару часов, его удаляют.
🔥 Фоновые процессы могут тайно кушать заряд. Чаты, трекеры, пуши — всё это может незаметно жрать проц и сеть.
📊 Приложение может перегружать CPU, GPU и сеть. Игры, анимации, кривые API-запросы – и вот уже телефон кипит.
📱 Старые устройства страдают больше. На флагманах лагов нет, а на бюджетках ад.
🔋 Что тестируем?
1 Базовые сценарии проверки батареи
✅ Запустить приложение и понаблюдать за расходом заряда.
✅ Оставить в фоне и посмотреть, жрёт ли батарею.
✅ Использовать активные функции (видео, GPS, анимации).
✅ Проверить, как ведёт себя приложение в условиях низкого заряда.
2 Ключевые метрики энергопотребления
🔌 CPU Usage – сколько жрёт процессор?
🖥 GPU Load – если есть анимации и графика, грузит ли GPU?
📶 Сетевые запросы – не спамит ли API?
🔋 Wakelocks – не мешает ли приложуха телефону заснуть?
📡 Сенсоры (GPS, акселерометр, Bluetooth, Wi-Fi) – отключаются ли, когда не нужны?
🛠 Инструменты для тестирования батареи
📌 Android
1) ADB Battery Stats (стандартный инструмент Android)
📌 Показывает, какие процессы жрут заряд и какие компоненты активны (CPU, Wi-Fi, GPS, экран, сенсоры).
2) Battery Historian
- Визуализирует отчёты из ADB.
- Показывает графики энергопотребления.
- Можно увидеть, какие сервисы держат wakelock и мешают спать телефону.
Запуск:
📌 Пример: приложение не отпускает Wi-Fi после завершения работы – фикс в коде:
3) Android Studio Profiler
- Отображает CPU, RAM, батарею, сетевые вызовы в реальном времени.
- Можно посмотреть нагрузку при разных сценариях (скролл, видео, анимации).
📌 iOS
- Включаем через Instruments → Energy Log.
- Показывает, где процессор уходит в космос, какие фоновые задачи жрут заряд.
📌 Пример: приложение использует GPS в фоне (нужно отключать, когда не нужно)
2) instruments → Time Profiler
- Анализирует, какой код нагружает процессор.
- Полезно для оптимизации CPU-heavy задач (анимации, фоновые вычисления).
📡 Как тестировать энергопотребление?
1 Ручное тестирование (базовые проверки)
✅ Запустить приложение и поиграться с ним 10-15 минут.
✅ Оставить в фоне и посмотреть, разряжается ли батарея.
✅ Включить режим энергосбережения и проверить, как ведёт себя приложение.
2 Автоматизация замеров батареи (Android)
📌 Анализируем battery_report.txt, ищем жрущие процессы и сервисы.
3 Анализ Wakelocks (Android)
📌 Показывает, какие процессы не дают телефону уснуть.
4 Тестирование нагрузки в экстремальных условиях
🔥 Высокая температура – как ведёт себя телефон, если он нагревается?
📶 Плохая сеть – приложение продолжает спамить API или ждёт нормального соединения?
📡 Выключение GPS, Wi-Fi, Bluetooth – корректно ли реагирует приложение?
🚀 Оптимизация энергопотребления
📌 Избавляемся от ненужных фоновых сервисов
📌 Ограничиваем Wakelocks
📌 Меньше обновлений в фоне
🔥 Вместо бесконечных фоновых сервисов – WorkManager (Android) или Background Tasks (iOS).
📌 Итоги
🔋 Плохая оптимизация = плохие отзывы и удаление приложения.
📊 Важно следить за CPU, GPU, сетью и Wakelocks.
🛠 Лучшие инструменты: ADB Battery Stats, Battery Historian, Xcode Energy Log.
🚀 Тестируем вручную и автоматизируем замеры.
Братишка, сегодня разберём одну из самых хардкорных тем в мобильном тестировании — жесты и сенсоры. Если кнопки можно просто понажимать, то тут уже начинается магия: свайпы, мультитач, акселерометр, гироскоп, приближение... И всё это нужно тестить, чтобы юзеры не страдали от глюков.
Март для криптанов оказался достаточно довольно волатильным, но по итогам всё обернулось вялостью. Биткоин сходил вверх и вниз, потом просто отдыхал. Я продолжаю готовиться к крипточилу на пенсии и формирую криптопортфель, благодаря которому буду чилить на криптоострове. Для этого я ежемесячно покупаю крипту на небольшую сумму. Смотрим, что произош…
Не наводи порядок в том, от чего нужно избавиться. Про бесконечные списки задач, фокусировку и "У меня все задачи важные"
Их стоимость варьируется от $250 до $1000.
Настроил Авито так, что отдел продаж заказчика лег, а я получил самое хвалебное и приятное письмо благодарности за всю свою жизнь, а потом меня уволили. Рассказываю о том, как правильно настраивать Авито, чтобы он колоссально окупался.