Как оптимизировать приложение на планшете

Обновлено: 18.05.2024

Как ускорить или оптимизировать Андрои устройство - рано или поздно любой владелец задается этим вопросом, ибо медленно но верно даже самый навороченный смартфон начнет засорятся лишними файлами, а износ микросхем не повышает скорость работы смартфона. Но даже самый тормозной девайс можно ускорить!

К оптимизации или ускорению устройства надо подходить комплексно, мы описали четыре основных этапа, выполнив которые вы гарантированно ускорите свой смартфон или планшет: это отразится как на FPS в играх, так и на скорости запуска приложений. Все этапы, кроме первого, улучшают стабильность устройства, а вот с файлом подкачки - предстоит экспериментировать самим, ибо он может дать как положительные так и отрицательные результаты.

Создание SWAP - файла подкачки

Swap файл - это файл подкачки, по сути это системный кеш, и приложение Roehsoft SWAPit RAM EXPANDER позволяет создавать SWAP произвольного размера. По сути, это расширение оперативной памяти устройства: вы предоставляете место на SD карте или внутренней памяти для использования системой, в результате получаете более стабильную работу "тяжелых" приложений. Но надо понимать, что SWAP куда более медленный чем настоящая оперативная память, так что в редких случаях могут быть проблемы.

Мы рекомендуем создавать СВАП только если это необходимо: если совсем не запускается приложение или постоянно вылетает при нагрузке. Если у вас и так все работает: приложение может оказать даже негативный эффект, ибо "не бюджетные" устройства и так умеют создавать кеш.

Как создать SWAP на Андроид при помощи SWAPit RAM EXPANDER

  1. Для работы приложения нужны Root-права (как получить) и BusyBOX
  2. Скачиваем приложение SWAPit RAM EXPANDER
  3. Запускаем его и нажимаем "Оптимальное значение" - программа сама определит подходящий размер
  4. Нажимаем "Активировать", после чего нужно перезагрузить устройство
  5. Если не получается - внимательно читаем инструкцию на странице программы

Оптимизация андроид устройства с помощью «Опций разработчика».

Давайте подробно разберем, как оптимизировать и ускорить работу андроид устройства, отключив либо уменьшив графические эффекты, наложенные разработчиком (не требует root-прав). В некоторых моментах Вы станете перед выбором приукрасить внешнее оформление (для мощных аппаратов) либо оптимизировать скорость работы Вашего устройства. Правильная оптимизация смартфона или планшета очень важна, а дальше решать уже Вам, но наши советы будут направлены именно на это.

В первую очередь нужно зайти в Настройках телефона или планшета в пункт «Параметры разработчика». В некоторых устройствах этот пункт нужно включить, для этого перейдите во вкладку «Об устройстве» и нажмите на «Номер сборки» 7 раз, и он у Вас появится.

Активируйте пункт «Параметры разработчика» и выполните следующие действия:

  • Включите «Принудит. обработка GPU», чтоб Ваш графический процессор работал постоянно, не затрагивая ресурсы основного;
  • Для максимально эффективной работы устройства включите пункт «Отключить аппаратное наложение»;
  • Меняем значение для 3-пунктов: «Масштаб анимации окна», «Масштаб анимации перехода» и «Шкала длительности аниматора» с 1х на - «Анимация отключена» (особенно важно для «слабых» устройств);
  • Ограничиваем количество работающих в фоне программ для освобождения оперативной памяти. В пункте «Фоновые процессы» выберите «Чем меньше - тем быстрее устройство», мы рекомендуем «Не более 3 процессов» - для оптимальной работы, без потери многозадачности (особенно важно для устройств с менее 2 Гб оперативной памяти).

Последовательность действий при настройке опций разработчика:

    Заходим в настройки устройства

Программы и ежедневные действия для ускорения андроида

Помимо одноразовых действий с Вашим смартфоном или планшетом, описанных выше, мы рекомендуем регулярно выполнять следующие действия:

Оптимизация приложений на андроид

К основным вариантам, как оптимизировать Андроид относится: загрузка специальных приложений, надстройка системы через меню для разработчиков или использование инструментов, встроенных в оболочку. Ниже о том, зачем нужна оптимизация, как ее настроить и отключить при запуске смартфона.

Что такое оптимизация на Андроид

Под оптимизацией подразумевают:

  • контроль расхода аккумулятора;
  • удаление мусора, неиспользуемых приложений;
  • ускорение системы путем освобождения оперативной памяти.

Лучшие утилиты для оптимизации Андроид

Приложения для оптимизации объединяют в себе менеджер программ, средства для деинсталляции кэша, антивирус и прочие инструменты для ускорения смартфона. Они имеют похожий функционал, но отличаются интерфейсом. Чтобы их установить :

Обратите внимание! Эффективность специального софта не доказана. Зачастую он еще больше загружает систему и тратит заряд аккумулятора.

Safe Security Антивирус

Приложение, рассчитанное на защиту пользователей от взлома личных данных, обзавелось инструментам для «Ускорения телефона» и «Очистки места».

К числу первых относится :

  • охлаждение процессора, батареи;
  • экономия заряда аккумулятора;
  • ускорение игр, работы приложений;
  • увеличение скорости Wi-Fi.

Ускорение телефона в Safe Security Антивирус

Все эти функции работают по одному принципу — ПО закрывает процессы, запущенные в фоне, снижая нагрузку на оперативную память, процессор, графический чип и АКБ.

Очистка места происходит за счет :

  • очистки оперативной памяти;
  • удаления софта, ненужных фотографий, файлов.

Очистка места в Safe Security Антивирус

DU Speed Booster

Повторяет функции предыдущей программы, но имеет несколько отличий:

Важно! Speed Booster требует расширенный доступ к файловой системе смартфона.

Рекомендуем: Включение и настройка Окей Гугл на телефоне

Как ускорить телефон вручную без рут прав

Чтобы не устанавливать сторонний софт, достаточно воспользоваться инструментами, предустановленными в оболочку.

Удаление мусора

Остаточные файлы и кэш удаляют следующим образом:

Деинсталлируйте софт, который не используете:

Избавьтесь от файлов в загрузочной папке:

Расход зарядки

Для экономии аккумулятора:

Здесь же можно включить режим энергосбережения, когда смартфон уходит в супер-режим экономии заряда, отключая все фоновые процессы, кроме звонков и приема СМС.

Автоматический запуск энергосберегающего режима

Режим разработчика

В системе Android есть скрытое меню с расширенными настройками системы для разработчиков. Для его активации:

Относительно вопроса: что это, GPU ускорение Андроид? Это функция, которая перекладывает обработку 2D-объектов с ядер центрального процессора на графический ускоритель, повышая производительность и скорость передачи данных. Чтобы ее активировать, в настройках «Для разработчиков» опуститесь до категории «Аппаратное ускорение визуализации» и тапните «GPU-ускорение».

Включение GPU-ускорения

Интересно! Для отключения внесенных изменений, нажмите на переключатель «Включить режим разработчика» в начале одноименного меню.

Как отключить оптимизацию

Здесь пойдет речь о том, как отключить оптимизацию приложений при включении Андроид, которая появляется после каждой перезагрузки смартфона. Причинами этой проблемы являются:

  • сбои в работе ПО;
  • получение Root-прав;
  • обновления прошивки.

Удаление кэша и откат системы

Цикличная оптимизация происходит из-за временных файлов, сохранившихся в системе:

Если это не помогло и телефон не загружается дальше уведомления об оптимизации:

Внутренняя память устройства будет очищена, а смартфон вернется к заводскому состоянию.

Когда операционная система загружается после уведомления об оптимизации, то откат девайса выполняют так:

Важно! Перед запуском отката, перенести важные файлы из внутренней памяти на карту или компьютер.


Оптимизация смартфона или планшета может потребоваться вне зависимости от модели или года выпуска электронного устройства. Простые действия повысят скорость работы операционной системы и продлят функционирование прибора от аккумулятора.

Причины снижения быстродействия

Прежде чем решать проблему, надо выявить причину, которая не позволяет работать быстро планшету или телефону. Эта информация предотвратит в дальнейшем влияние негативных факторов на быстродействие девайса. Основные причины, которые влияют на нормальное функционирование аппарата:

  • дефицит оперативной или физической памяти;
  • применение псевдооптимизирующих программ;
  • постоянный поиск устройством места положения или сети интернет;
  • переизбыток графических компонентов – использование «живых» обоев, анимационных картинок.

Первая проблема требует срочного решения. Загруженность оперативной или физической памяти оказывает прямое влияние на скорость работы. Подробно рассмотрим устранение каждой из причин.

Оптимизация планшета или смартфона с Андроид

Нужно правильно оптимизировать работу электронного устройства, не внести ненужных изменений. Для этого выполнять все действия необходимо в определенной последовательности. Если после устранения одной причины неправильной работы устройства все наладилось, то применять другие способы не стоит.

1. Очищение физической памяти

Под физической памятью понимается хранилище для файлов на съемных носителях и непосредственно аппарате. Проверить количество занятой памяти целесообразно сразу, как только заметили снижение скорости работы телефона или планшета. Если в хранилище не осталось места, операционной системе приходится затрачивать максимум ресурсов на загрузку информации.

Перед очисткой физической памяти необходимо устранить причины ее заполнения. При наличии съемного носителя установите путь сохранения некоторых приложений на SD-карту. Сюда можно переносить информацию с мессенджеров, камеры, диктофона, Skype. Максимально освобожденная память телефона или планшета положительно скажется на быстродействии. Также можно оптимизировать планшет, чтобы он работал оперативно.

2. Очищение оперативной памяти

Ресурс, используемый активными на определенный момент времени приложениями, называется оперативной памятью. Загрузка хранилища будет выше, если на электронном устройстве установлено множество программ. Потребуется удалить приложения, которые длительное время не использовались. Они работают в фоновом режиме и тормозят работу смартфона.

3. Оптимизирование визуальных эффектов

Негативно сказывается на функционировании любого устройства большое количество анимированных картинок, установка «живых» обоев или виджетов на экране. Каждый из элементов отнимает часть оперативной памяти, ресурсов видеокарты (графического процессора). Удаление лишних виджетов спасет ситуацию. Оставьте самые необходимые элементы. Оптимизация телефона на Android этим методом увеличит скорость работы устройства.

Для удаления самостоятельно установленных виджетов, необходимо нажать на значок и перетащить его в корзину или нажать кнопку «Удалить» на старых версиях операционной системы:


4. Применение кастомной оболочки

Она используется для настроек функционала и изменений внешнего вида электронного устройства без установки Root-прав или перепрошивки. Чтобы оптимизировать скорость функционирования смартфона, потребуется установить Nova Launcher или подобную программу. Она приближена к операционной системе, минимизирует потребление ресурсов и удобна в настройке:


5. Увеличение быстродействия через меню разработчика

Уменьшение количества или отключение графических эффектов, которые установлены разработчиком, позволит ускорить работоспособность операционной системы. Оптимизация работы телефона осуществляется так:

  • В главном меню находим пункт «Настройки»;
  • В нем «Параметры разработчика»:


  • Включить «Принудительную обработку GPU»;
  • Подтвердить отключение аппаратного наложения:


  • Изменяем на «Анимация отключена» масштаб анимации окна, анимации перехода и шкалу длительности аниматора:

Для выполнения этих операций необходимо перейти в пункт «Об устройстве» и семь раз нажать на версию сборки. Таким способом разблокируется раздел «для разработчика».

6. Обновление прошивки





Оптимизировать девайс можно установкой сторонних программ. Clean Master довольно популярен. Он устанавливается бесплатно, а работает хорошо. Утилита проводит очистку кеша, удаляет балластные файлы с устройства. Установка программы актуальна для владельцев телефонов с маленьким объемом встроенной/оперативной памяти.

8. Сброс до заводских настроек

Этот радикальный метод не стоит использовать без необходимости. Оптимизировать работу телефона таким способом можно только, если ничего из перечисленных технологий не подошло.




Оптимизация планшета или смартфона с Андроид

Перечислим несколько методов оптимизации работы устройств с операционной системой iOS.

Зачастую простая аппаратная перезагрузка позволяет устранить проблему медленной работы планшета или смартфона. Нужно использовать этот способ, если пользователь столкнулся нестабильным функционированием приложений.

Перезагрузка производится путем одновременного нажатия на кнопки «Домой» и включение. Их надо удерживать несколько секунд. Появление логотипа компании на экране указывает на начало загрузки. Теперь кнопки можно отпустить и ожидать нормальной работы электронного устройства:


Чтобы оптимизировать iPhone версии 7 и выше, нужно одновременно зажать кнопку снижения громкости и включения аппарата:


2. Обновление операционной системы

Новые версии системы увеличивают работу девайса, так как содержат улучшенную производительность и исправление ошибок. Для выполнения операции необходимо:


  • Выбрать «Основные», затем переместиться в «Обновление ПО»:


  • Найти последнюю версию операционной системы и обновить:


3. Уменьшение движения

На скорость работы устройства влияет необычная анимация. Компания-производитель предусмотрела возможность отключения ненужных элементов для ускорения функционирования аппаратов. Для этого потребуется:



  • Найти раздел «Уменьшение движений», передвинуть тумблер в нужную сторону:


4. Удаление кэша приложений

Для оперативной загрузки видео или фото некоторые программы сохраняют их в кеше. Скопление временных файлов приводит к замедлению быстродействия. Оптимизация iPhone проводится методом очищения кеш памяти.

Из-за отсутствия универсального метода удаления файлов необходимо в настройках каждого приложения производить чистку памяти. Рассмотрим это на примере Safari:



  • Активируем приложение и находим пункт «Очистить историю и данные сайтов»:



5. Запрет или ограничение обновлений

Автоматическое обновление контента влияет на быстродействие. Работа ряда приложений в фоновом режиме ухудшает производительность. Для отключения этой функции на iOS потребуется выполнить несколько шагов:



  • Запуск пункта «Обновление контента»;
  • В появившемся списке деактивируем тумблеры около приложений, которые потребляют максимальное количество ресурсов:


Этот способ не рекомендуется использовать, если вы знаете, как оптимизировать телефон другими методами. Если причина снижения быстродействия кроется в ошибках программного обеспечения, то потребуется сбросить настройки до заводских. Целесообразно сохранить резервную копию. Для этого можно воспользоваться iCloud или iTunes.

Для полного сброса потребуется:



  • Выбрать и подтвердить свое решение в пункте «Стереть контент и настройки»:


Сотрудники компании «Служба добрых дел» знают, как оптимизировать смартфон или планшет с любой операционной системой. Если у вас не получилось воспользоваться перечисленными методами или хотите, чтобы мастер нашел причину и устранил неисправность сам, то оставьте заявку. Сделать это можно по телефону или в чате приложения. Менеджер оперативно свяжется с вами для обсуждения деталей и согласования удобного времени работа специалиста.

За последние годы мобильная система Android получила массу дополнительных улучшений, которые заметно расширили ее функционал. В данной статье мы поговорим о самых эффективных методах оптимизации смартфона, позволяющих заметно ускорить его работу и продлить время автономной работы.

Удаление и отключение ненужных программ

Установленное ПО сильно влияет на производительность гаджета, поскольку многие приложения способны не только расходовать заряд аккумулятора и занимать память. Их работа в фоновом режиме иногда слишком дорого обходится процессору смартфона, а также требует определенные объемы ОЗУ. Как правило, это приводит к раздражающим задержкам как в функциях устройства, так и в отображении интерфейса.

Для решения подобной проблемы рекомендуется удалить приложения, которые применяются пользователем в редких случаях. Сделать это можно при помощи обычных настроек, стерев из памяти неиспользуемые программы.

Если приложение родное (установлено в прошивку с завода), удалить его будет проблематично. Зато всегда можно отключить ненужные программы — вот подробная инструкция .

Освобождение памяти

Несмотря на большие объемы памяти внутренних накопителей, забивать их данными до отказа не рекомендуется. Количество записанной информации в некоторых ситуациях может влиять на быстродействие операционной системы.

Перенос важных фотографий и видеороликов на компьютер или в облачное хранилище позволит освободить ресурсы телефона, чтобы впоследствии система имела возможность кэшировать файлы приложений. Установка карты памяти microSD также станет прекрасным решением проблемы дефицита памяти.

Настройка синхронизации данных

Синхронизация данных, например, файлы Google Фото, происходит автоматически, что позволяет не беспокоиться о сохранении информации на устройствах. Несмотря на удобство такой процедуры, ее регулярное применение приводит к расходу ресурсов системы, что сказывается на общем быстродействии смартфона.

Также подобная функция довольно сильно разряжает аккумулятор и способна вызвать дополнительные расходы интернет-трафика . Полностью отключать фоновую синхронизацию необязательно — достаточно уменьшить периодичность подключения к серверу или выбрать синхронизацию только по Wi-Fi.

Обновление операционной системы

Установка свежих версий ОС Android дает возможность не только получить множество новых функций, но и улучшить работу устройства в целом.

Изменение настроек анимации

Последние версии Android обладают довольно сложными эффектами, которые, как правило, сопровождают пользователя при работе с интерфейсом. Несомненно, анимации открытия, закрытия и сворачивания приложений выглядят красиво, но нагружают бюджетные процессоры.

Для лучшей оптимизации устройства можно отключить эту функцию в разделе параметров меню разработчика . Именно там можно установить длительность проигрывания анимации и задать подходяще числовое значение.

Удаление антивируса и программ-оптимизаторов

Отсутствие антивирусной защиты в телефоне может принести больше пользы, нежели ее наличие. Программы, призванные предотвращать запуск потенциально опасных файлов, задействуют в своей работе важные ресурсы системы, которым можно найти более полезное применение. Защитить смартфон от вирусов можно самостоятельно — достаточно устанавливать ПО только из проверенных источников и не соглашаться на все подряд на подозрительных сайтах.

Многие опытные пользователи Android рекомендуют раз и навсегда забыть про утилиты для оптимизации смартфона, такие как Clean Master и CCleaner, поскольку они не дают желаемых результатов, а только надоедают назойливой рекламой и уведомлениями.

Отключение GPS

Постоянная отправка данных о текущем местоположении пользователя разряжает АКБ и серьезно замедляет работу системы. Работа многих программ тесно связана с такой информацией, из-за чего модуль GPS активно функционирует даже в фоновом режиме.

Чтобы отключить работу данного модуля (если в нем нет необходимости), можно воспользоваться шторкой уведомлений или внутренними настройками Android.

Очистка рабочего стола

Виджеты на главном экране устройства обеспечивают отображение важных сведений о текущем состоянии смартфона или позволяют увидеть информацию о времени, курсе валют и погоде.

Данная красота стоит жертв, что проявляется в виде замедленной и менее плавной работы пользовательского интерфейса системы. По этой причине можно убрать с рабочего стола лишние виджеты, чтобы не расходовать ресурсы и АКБ. Также рекомендуется отказаться от динамических обоев, которые сильно нагружают слабые процессоры смартфонов.

Сброс системы

Длительное использование смартфона неизбежно приводит к засорению операционной системы. Даже полная очистка памяти мобильного устройства от ненужных программ не гарантирует их окончательного удаления. Обычно они накапливаются в системе в виде остаточных файлов, чем тормозят ее функционирование за счет уменьшения свободных ресурсов.

Первым делом нужно попробовать очистить накопившийся кэш. Лучший для этого способ — меню рекавери и функция Wipe cache partition .

На крайний случай можно попробовать сделать сброс системы через обычное меню параметров. Все данные с телефона будут полностью удалены, поэтому нужно заранее позаботиться о резервной копии данных.

Итоги

Мы рассказали об основных методах оптимизации ОС Android, позволяющих не только свести к минимуму количество зависаний, но также ускорить загрузку системы и отдельных приложений. Несмотря на то, что вышеизложенные инструкции связаны с некоторыми ограничениями, их применение часто становится вынужденной мерой.

Также рекомендуем изучить нашу статью про ускорение Android — она хоть и опубликована несколько лет назад, но все еще актуальна для смартфонов, особенно бюджетных.

В этой небольшой статье я хочу поделиться с вами опытом, как программно оптимизировать производительность приложения Андроид за 5 простых шагов на примере создания цифровой версии игры «Корона Эмбера».

До создания серьезных приложения со сложной структурой View и Layout'ов мы особо не задумывались над тем, как простые и логичные действия в стиле «смотрите, я набросал дизайн из лэйаутов» могут серьезно замедлить работу всей программы.

Помимо прочего, задача с «Короной Эмбера» осложнялась еще и тем, что игра, которую мы задумали перенести на Андроид платформу, была сама по себе достаточно насыщенной различными компонентами, которые как-то надо было умещать на игровом поле или рядом с ним.

В статье я собрал наш успешный опыт и облёк его в удобную и читабельную форму, полезную для тех, кто все еще гуглит «как программно оптимизировать приложение под Андроид» или «почему мое приложение лагает».

Итак. Исходная точка (то, как это все выглядело ДО оптимизации)

Дизайн приложения был создан из «правильной» кучи около двух сотен View и десятка Layout'ов. Загрузка игрового поля происходила около 5 секунд, а почти каждое действие зависало еще на 1-2 секунды. И если на прогрессивных устройствах и эмуляторах лаги были практически незаметны, то на большинстве менее современных устройств картина выглядела достаточно печальной.

image

Понятно, что это не устраивало ни меня, ни нашу команду, ни тестеров. И хотя мы были искреннее уверены, что все оптимизировано дальше некуда, мы принялись искать информацию.

Часть знаний, которыми я хочу поделиться, мы нашли здесь — классные видео-уроки с русскими субтитрами (рекомендую), часть — на Хабре, часть — в глубинах Интернета, на том же сайте Google Developers.

Причем, каждый раз получая новую порцию и проводя очередную оптимизацию, мы были уверены «все теперь дальше некуда, быстрее не будет» и с каждым шагом открывали для себя все больше и больше нового.

И вот, как это происходило.

Шаг 1. Измерение

По сути это даже не шаг, а настойчивая рекомендация постоянно измерять свою производительность. Для этого в Андроид Студио предусмотрено несколько специальных программ: Android Device Monitor с HierarhyViewer, SystemTracing, Method Profiling; Android Monitor с Memory, CPU и GPU мониторами. Описывать их работу не цель данной статьи, вы легко можете найти гайды здесь же, на Хабре, или в упомянутых видео-уроках.

Суть в том, что чтобы оптимизировать производительность, нужно сначала понять где же она «спотыкается».

Хотя, даже без измерения, есть несколько вещей, на которые необходимо обращать внимание каждому разработчику и мы шагаем дальше.

Шаг 2. Оптимизация иерархии и снижение веса

Основная потеря производительности приложений происходит при пересчете и перерисовке отображенных Layout'ов. Причем чем «тяжелее» лэйаут — тем дольше происходит перерасчет его показателей. И тут надо обратить внимание на следующие моменты:

— в вашей иерархии не должно быть вложенных LinearLayout с параметрами «weigh» (вес). Измерение такого лэйаута занимает в два (три, четыре! — в зависимости от вложенности) больше времени. Лучше заменить эту конструкцию на GridLayout (или support.v7.GridLayout для API меньше 21);
— некоторые LinearLayout можно заменить на RelativeLayout, тем самым убрав дополнительные вложения, например;
— оказывается, RelativeLayout также измеряется дважды. Где возможно — его нужно заменить на более «легкий» FrameLayout.

Изучив нашу разметку мы с ужасом обнаружили, что в ней есть вложенные до четырех (!) раз LinearLayout с параметром вес, игровое поле состоит из почти сотни RelativeLayout (клетки поля), а некоторые Layout просто не нужны.

(Зеленым отмечено допустимое вложение, желтым — нежелательное, оранжевым — опасное, красным — «никогда-так-не-делайте!»)

image

После этого мы немного переработали структуру. «Персонажа» вынесли в отдельный фрагмент с RelativeLayout, все вложенные Linear заменили на (один!) support.v7.GridLayout, а все RelativeLayout (на скрине их не видно — это клетки поля) заменили на FrameLayout. Получилось и симпатишней и производительней.

image

Однако до конца наши проблемы это не решило, и мы пошли дальше.

Шаг 3. Лишняя перерисовка (Overdraw)

Оказалось, что Андроид тщательно прорисовывает каждую картинку, каждый background у каждого View на экране. Здесь он, конечно, молодец. Но что делать, если одни изображения перекрывают другие, бэкграунды накладываются и часть этой прорисовки становится абсолютно ненужной? Правильно — отключать все, что не видно и не нужно.

Измерить наложение перерисовки оказывается очень просто: на своем устройстве в «Параметрах разработчика» нужно включить «Показывать превышение GPU», запустить приложение и посмотреть на экран.

Цвета View-элементов покажут, насколько у вас все хорошо (или плохо).

Свой цвет — уровень 0, «идеально»
Синий цвет — уровень 1, «нормально.
Зеленый цвет — уровень 2, „допустимо“.
Светло-красный цвет — уровень 3, „нежелательно“.
Красный цвет — уровень 4+, „не дай бог“.

Наша картинка вновь ввергла нас в ужас:

image

Нам пришлось снова пройтись по всей разметке и отключить background там, где он оказался лишним. Не забыли и про основной бэк приложения — одной простой строчкой:


В теме приложения выключили и его. И вот что получилось в итоге. Может и не везде идеально, но вполне допустимо. (Почти все View опустились на 3 уровня!)


Шаг 4. Кэширование — ключ к успеху

Тоже вполне очевидная вещь, которая не казалась обязательной — это кэширование. В частности (в данном случае) кэширование шрифта.
Как вы уже наверное обратили внимание, везде, включая логи, используется свой шрифт и, о (опять) ужас!, каждый раз, для каждого нового текста он подгружается заново из Assets. Каждый раз, Карл! (черным цветом — основной потом, коричневым — работа Assesnager'а).


С кэшированием до этого никто из нас не сталкивался, но тут нас выручил один хороший человек со StackOverflow и подсказал простой код:


Применив который, лично я вообще практически забыл, что такое лаги.

Шаг 5. „А это — под укроп!“

Как в анекдоте, где мужику сказали, что он получит под надел столько земли, сколько сам сможет измерить и он скакал, бежал, шел, полз и в конце изможденный снял с себя шапку и кинул на сколько смог со словами: „А это — под укроп“, так и мы стремились максимально до мельчайших деталей оптимизировать производительность.

Поэтому пришло время оптимизации кода. Конечно, то как пишется код — это уже больше дело правильной привычки, и тут можно только дать несколько общих рекомендаций (более подробно их можно найти в любой статье по программной оптимизации). Вот с чем столкнулась наша команда:

— создавайте поменьше „ненужных“ циклов. Если что-то можно сделать без них — делайте без них;
— не создавайте переменных в цикле. Лучше создать их за его пределами, а в цикле просто обновлять;
— если есть необходимость обратиться к ресурсам неоднократно (с помощью gerResources() или же просто в другой класс/массив, например, myList.get (0)) — лучше запишите полученный результат в новую переменную и используйте ее: int myItem = myList.get(0); — это тоже подарит вашему приложению миллисекунды свободного времени;
— по возможности используйте статические методы (если нет необходимости обращаться к самому классу);
— ну и классический способ: на финальном этапе программирования убирайте инкапсуляцию (геттеры и сеттеры) и обращайтесь к переменной напрямую.

Подводя итог

Уверен, что сделанные шаги не являются окончательными и всегда будет „место под укроп“, до которого мы не добрались. Всегда готов узнать о шаге №6, 7… и даже №157, если вы захотите ими поделиться в комментариях. Более того, за „науку“ буду благодарен.

А пока, резюмируем, что же нужно сделать, чтобы ваше приложение начало „летать“:

1. Измерьте производительность своего приложения и найдите источник проблемы. Может у вас это будет не шрифт, а, например, утечка памяти (включаем Memory Monitor);
2. Оптимизируйте структуру и иерархию View (включаем HierarhyViewer и здравый смысл);
3. Убираем везде все ненужные бэки, включая background приложения (в этом случае учтите, что для корректного отображения вам все равно понадобится общий бэк);
4. Смотрим на часто используемые ресурсы/загрузки/картинки/шрифты и кэшируем их;
5. Делаем оптимизацию программного кода.

В итоге, после всех этих шагов, картинка трассинга приложения стала выглядеть вот так:


задержки практически исчезли (или стали незаметны), что нас вполне устроило.

Ну и конечно, первая мысль, которая пришла ко мне в голову после всей нашей оптимизации: „Вау! Теперь же можно добавить еще больше View и Layout на основной экран!“

Читайте также: