Android App Performance Optimization — невелика замітка, присвячена профілізації та усунення вузьких місць в коді програми. Стаття складається з чотирьох розділів.
- Оновлення інтерфейсу. Коли ОС не встигає виконати роботу по оновленню вмісту екрана за 16 мілісекунд, відбувається ферймдроп — система пропускає один або кілька кадрів з-за чого користувач бачить лаги. Виявити вузькі місця допоможе вбудований в Android GPU-профайлер: Settings ? Developer Options ? Profile ? GPU Rendering (необхідно слідкувати, щоб стовпці не перетинали зелену межу).
- Час запуску програми. Проста порада: все, що можна ініціалізувати пізніше, потрібно ініціалізувати пізніше, в тому числі інтерфейс — спочатку відображаємо «скелет інтерфейсу», а потім асинхронно завантажуємо в нього ресурси (зображення тощо).
- Лейауты. Щоб зробити інтерфейс більш швидким для відображення необхідно уникати зайвого вкладення лейаутов один в одного, розбивати лейауты на невеликі частини і використовувати їх заново, завантажувати лейауты тільки в міру необхідності.
- Батарея. Кілька простих порад: використовувати мережеві запити і вейклоки (wakelock) як можна рідше, з обережністю використовувати GPS і AlarmManager, об’єднувати завдання і виконувати їх одночасно.