Как ускорить работу андроида программы

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

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

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

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

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

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

Как Ускорить Любой Android в 20 раз

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+, „не дай бог“.

Читайте также:
Что такое программа norton

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

image

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

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

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

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

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

private static final Hashtable cache = new Hashtable(); public static Typeface get(Context c, String name) < synchronized (cache) < if (!cache.containsKey(name)) < String path = «fonts/» + name; try < Typeface t = Typeface.createFromAsset(c.getAssets(), path); cache.put(name, t); >catch (Exception e) < e.printStackTrace(); >> return cache.get(name); > >

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

Шаг 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 на основной экран!“

  • андроид разработка
  • оптимизация
  • android development
  • optimization

Источник: habr.com

Скачать Очистка памяти и ускорение на Android

Для телефона и планшета. Бесплатно и без регистрации. Все файлы проверяются антивирусами. Удобно и безопасно на Trashbox.ru

Сортировать по рекомендациям по дате по рейтингу

Android 8.0 и выше

Android 4.1 и выше

Android 4.4 и выше

Android 5.0 и выше

Android 6.0 и выше

Android 5.0 и выше

Android 4.4 и выше

Android 4.1 и выше

Android 4.1 и выше

Android 4.4 и выше

Android 4.0 и выше

Android 4.0 и выше

Сортировать по рекомендациям по дате по рейтингу

Обсуждаемое сегодня

Представлен компактный ПК на российских процессоре и ОС. Вот как он выглядит

Без VK и Яндекса: стало известно, кто займётся созданием отечественного GitHub

Vivo с первой попытки обошла многих конкурентов: обзор складного X Flip

В macOS появился эмулятор Windows-игр на основе Wine. С ним легко портировать игры

Главная страница проводника Windows 11 сильно изменилась. Выглядит непривычно

Самый дешёвый Samsung, который стоит покупать. Обзор Galaxy A24 4G

Обзоры на Trashbox.ru

Источник: trashbox.ru

Эффективные способы ускорения планшетов на ОС Android

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

Читайте также:
Программа где дети МТС

Скорость на Андроиде

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

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

Способы ускорения Android-планшетов

Если вы заметили, что устройство начало работать медленнее, ситуацию можно попытаться исправить.

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

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

  • обновления ПО;
  • изменений в работе анимаций;
  • настройки приложений;
  • виджетов;
  • сообщений и мессенджеров;
  • меню разработчика;
  • инженерное меню;
  • root-прав;
  • настройки геолокации и Wi-Fi.

Теперь следует отдельно рассмотреть каждый метод и понять принцип действий пользователя в той или иной ситуации.

Обновление ПО

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

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

Планшет на Андроиде

Некоторые переустанавливают нынешнюю прошивку планшета. Но на ускорение это вряд ли подействует. Более правильным решением будет обновить девайс. Для этого требуется:

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

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

Это очень простой способ ускорения, но он же относится к числу наиболее эффективных.

Настройка анимаций

Вовсе не обязательно использовать программы, предназначенные для ускорения работы планшета под управлением Android.

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

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

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

Установка и удаление приложений

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

Андроид в руках

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

Если вы хотите поднять скорость работы устройства, выполните такие действия:

  • Прежде чем устанавливать любую новую программу, убедитесь, что она вам действительно нужна. Если перестанете ею пользоваться, просто удалите.
  • Изучите полный перечень установленных приложений. Выберите те, которыми вы не пользуетесь. Некоторые из них не запускаются пользователем, но они могут поддерживать различные процессы на системном уровне. В итоге подобный софт, будучи неиспользуемым на планшете, по факту влияет на расход батареи и замедляет работу девайса. Лишнее удаляется.
  • Отключите функцию автоматического обновления. При автоматических обновлениях основные ресурсы используются для загрузки. Это отражается на работе процессора. А обновлять софт, который пользователь не применяет, вообще бессмысленно.
  • Проверьте настройки автоматического запуска программ. Есть приложения, которые включаются одновременно с запуском самого планшета. Вы даже и не подозреваете, как они в это время съедают оперативную память и ресурсы вашего планшета.

Действия предельно простые и понятные каждому. Зато и результат заметен сразу.

Настройка виджетов

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

Некоторые виджеты действительно полезные и функциональные. Но на практике они существенно влияют на производительность.

Большинство виджетов функционируют в фоновом режиме, постоянно обновляют информацию. В итоге у планшета отбирается часть ресурсов.

Сообщения

Рекомендуется также открыть менеджеры и сообщения, наведя в них соответствующий порядок.

Работа на планшете

Общительные люди имеют множество контактов, постоянно с кем-то ведут беседы, накапливается внушительный объём переписок. Всё это нагружает память и негативно влияет на работоспособность.

Если суммарно файлы сообщений и переписок занимают около 1 ГБ, после их удаления изменения в скорости работы будут заметными.

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

Меню разработчика

Более продвинутые пользователи могут ускорить работу своего Android-планшета через меню разработчика, что на практике не так сложно сделать.

Чтобы активировать это меню, требуется зайти в настройки девайса. Ускорение может оказаться весьма существенным.

Читайте также:
Программа прогрева и пуска в эксплуатацию тепловой сети пример

Чтобы открыть это меню разработчика, необходимо:

  • зайти в настройки;
  • перейти в раздел параметров телефона;
  • найти номер сборки;
  • кликнуть на него 7 раз;
  • после этого нужное меню откроется.

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

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

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

Настройки с помощью инженерного меню

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

Для входа потребуется:

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

После завершения процесса произойдёт перезагрузка девайса, и планшет окажется снова на заводских настройках.

Сброс настройки планшета приводит к полной потере всех данных на внутренней памяти.

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

Wi-Fi и геолокации

Глобально дальнейшие действия на производительность не влияют. Зато они позволяют поднять скорость работы планшета в конкретный момент времени.

Чтобы некоторые процессы работали, им требуется подключение к геолокации и соединение с Интернетом. Это немного влияет на процессор. По мере отсутствия необходимости, старайтесь отключать геолокацию, Wi-Fi соединение и мобильные данные.

Очистка кэша

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

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

Планшет с ОС Андроид

Дополнительно можно почистить кэш отдельных приложений.

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

Использование root-прав

Повлиять на работоспособность своего планшета можно с помощью рут прав. Это так называемые права суперпользователя.

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

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

Для разгона девайса используются специальные приложения, установленные на планшет. Предварительно устанавливается root.

Ускорение старых Android-планшетов

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

Отдельно стоит рассказать о том, как ускорить работу планшета на сравнительно старом Android. Таковым можно назвать версии 6 и 7 этой операционной системы.

Начнём с 6 версии. Если у вас старый планшет под управлением Android 6, его вполне можно ускорить. Для этого рекомендуется скачать утилиту под названием All In One Toolbox. Она специально создана для того, чтобы контролировать оперативку.

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

Планшет с Андроид системой

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

Чтобы ускорить планшеты на Android 7, следует выполнить несколько действий:

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

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

Ускорение без специальных прав и прошивок

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

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

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

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

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

Источник: protabletpc.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru