- Как отключается анимация на Андроид для повышения быстродействия
- Анимация на Андроид
- Как отключить анимацию
- Как можно ускорить анимацию на Android устройстве
- Шаг первый: включить параметры разработчика
- Шаг второй: измените анимацию
- Android анимация не повторяется
- 23 ответов
- Оригинальный Ответ
- Этот скрытый переключатель в Android может либо ускорить смартфон, либо сделать его плавнее
- Содержание
- Ускоряем смартфон: уменьшаем время анимации
- Делаем смартфон плавнее: увеличиваем время анимаций
Как отключается анимация на Андроид для повышения быстродействия
Анимация на Андроид, как одна из функций мобильной операционной системы, позволяет плавно отображать переход между окнами приложений и различными меню. Более гладкий переход выглядит красиво, но в то же время занимает много времени и в большей степени активно использует ресурсы телефона.
Это приводит к визуальному замедлению работы ОС и ускоренной разрядке аккумулятора, который не всегда получается зарядить в течении дня. А аппетит современных приложений и без этого повышен.
Приятной возможностью для пользователей гаджетов с Android является то, что они могут отключить анимацию для увеличения видимой скорости работы или настроить её в соответствии с личными предпочтениями.
Под ускорением работы, на самом деле, стоит понимать не скорость работы операционной системы, а визуально быстрое отображение перехода между приложениями и появление различных меню. Они просто будут быстрее отображаться.
После отключения, если вы примете такое решение, снизится нагрузка на видеоускоритель и процессор. Это определенно поможет оптимизировать работу вашего девайса.
Давайте ознакомимся с подробным алгоритмом действий, который поможет осуществить задуманное. Это не сложно будет сделать даже тем, кто ранее не особо вникал в настройки телефона.
Анимация на Андроид
Для начала необходимо получить параметры разработчика в настройках. Это можно сделать так:
- перейдите в «Настройки»;
- пролистайте в самый низ и в разделе «Система» перейдите в меню «О телефоне»;
- там нажмите семь раз подряд на «Номер сборки».
Параметр «Для разработчиков» появится новой записью в меню после соответствующего уведомления.
Как отключить анимацию
Перейдите в него и прокрутите вниз до раздела «Рисование». В нем найдите три параметра:
- окно : масштаб;
- переход : масштаб;
- скорость анимации.
Присвойте им значения в соответствии с вашими предпочтениями. Если анимация необходима, то сделайте выбор от 0,5х до 10х. Чем больше значение установите, тем более гладко будут отображаться переходы.
Для того, чтобы заставить смартфон быстрее работать и меньше использовать ресурсы батареи, во всех трех параметрах установите значение «Отключить». Проверьте работу гаджета. Результат впечатляет?
Источник
Как можно ускорить анимацию на Android устройстве
На устройствах Android отображаются анимации при переходе между приложениями, окнами и различными меню. Анимации часто выглядят гладко, но они занимают много времени, а иногда даже могут затормозить телефон, если у него мало ресурсов.
Хорошей новостью является то, что Вы можете ускорить или отключить эти анимации, чтобы Ваш телефон чувствовал себя быстрее. Это ключевое слово здесь, потому что это на самом деле не ускоряет работу Вашего телефона, а просто заставляет создает видимость ускорения, поскольку меню и многое другое загружаются быстрее.
Однако, если Вы решите отключить анимацию, это уберет часть загрузки с CPU/GPU, что, безусловно, поможет уменьшить отставание в системах с меньшими ресурсами.
Шаг первый: включить параметры разработчика
Если у Вас еще нет параметров разработчика, Вам нужно их включить. У нас уже есть подробная инструкция о том, как это сделать, но вот кратко:
- Открыть Настройки > О телефоне (Настройки > Система > О телефоне в Oreo)
- Нажмите номер сборки 7 раз
- Вы теперь разработчик!
Параметры разработчика теперь будут новой записью в меню «Настройки» («Настройки» > «Система» > «Параметры разработчика» в Oreo).
Шаг второй: измените анимацию
Перейдите в меню «Для разработчика», затем прокрутите вниз до раздела «Рисование».
Здесь найдите три настройки: Анимация окон, Анимация переходов и длительность анимации.
Как Вы их измените зависит от Ваших предпочтений, но мне лично нравится видеть некоторую анимацию, потому что она просто делает все более гладко. Таким образом, я установил все три значения на 0.5x, чтобы ускорить их от опции по умолчанию (1x), не отключая их полностью.
Если Вы пытаетесь сделать устройство с низкими ресурсами немного более быстрым, то полностью отключите все анимации. Это должно заставить телефон чувствовать себя быстрее и меньше ощущать малую производительность оборудования.
Источник
Android анимация не повторяется
Я пытаюсь сделать простую анимацию, которая будет повторяться несколько раз (или бесконечно).
Кажется, что android:repeatCount не работает!
Вот мой анимационный ресурс от /res/anim/first_animation.xml :
сначала он должен масштабировать изображение от 1,0 до 1,2 размера в 500 мс.
А затем масштабируйте его до 1.0 в 500 мс.
Вот как я его использую:
оно делает один цикл и после этого заканчивает.
Это Весы, тогда Весы Анс тогда останавливает.
как я могу сделать эту работу так, как задумывалось?
23 ответов
обновление: еще в сентябре 2011 года инженер Android исправил эту проблему по большей части. Атрибуты, которые были проигнорированы в XML теперь работают, за исключением repeatCount и fillEnabled которые по-прежнему игнорируются (по какой-то причине). Это означает, что по-прежнему нелегко повторить AnimationSet к сожалению.
для деталей пожалуйста см. Обзор в обновленная документация (объясняет, какие атрибуты игнорируются, какие работают и какие передаются на дети.) И для более глубокого понимания чего fillAfter , fillBefore и fillEnabled на самом деле, см. сообщение инженера (Chet Haase) в блоге об этом здесь.
Оригинальный Ответ
чтобы расширить ответы Павла и других: это правда, что тег смешно глючит. Он не может правильно обращаться с repeatCount и ряд других атрибутов.
я провел несколько часов, выясняя, что он может и не может иметь дело и иметь отправлено сообщение об ошибке / проблема здесь:вопрос 17662
в резюме (это касается AnimationSet s):
этот атрибут (а также repeatMode) не работает в коде или XML. Это затрудняет повторение всего набора анимаций.
setDuration () / android: продолжительность
установка этого на AnimationSet в код работает (переопределяет все длительности дочерних анимаций), но не при включении в тег в XML
setFillAfter () / android: fillAfter
это работает как в коде, так и в XML для тега. Как ни странно, я получил его также работать без необходимости устанавливать fillEnabled в true.
setFillBefore () / android: fillBefore
кажется, не имеет никакого эффекта / игнорируется в коде и В XML
кажется, не имеет никакого эффекта / игнорируется как в коде, так и в XML. Я все еще могу заставить fillAfter работать даже без включения fillEnabled или установки fillenabled в false.
это работает только в коде, а не в XML.
Я нашел это тег имеет реализацию багги в классе AnimationSet.
Он не может правильно обращаться с repeatCount.
Что мы можем сделать, — это установить repeatCount непосредственно в — тег.
Этот XML-ресурс работает хорошо:
к сожалению, это ограничено только одной анимацией сразу.
Мы не можем определить последовательность анимации это путь.
вы должны включить атрибут
но в вашей анимации» масштаб «не в «set»
чтобы получить повторяющуюся анимацию, я использовал прослушиватель анимации и снова вызвал анимацию, когда она закончилась. Это делает камеру сеткой фокусировки, как анимация с скобками.
вот макет анимации xml
Я также столкнулся с той же проблемой.. я включил android: repeatCount= «infinite» в XMl-файл..теперь он работает нормально.
вы можете попробовать этот код. В вашем коде просто добавьте,
это повторить анимацию в течение определенного времени
это будет повторять анимацию бесконечно.
Я попытался использовать код Даниэля, чтобы показать анимацию точное количество раз и имел проблему: анимация была показана приблизительно n / 2 раза, когда ожидалось n раз.
поэтому я изменил код Даниэля:
используя вариант, показанный выше, анимация отображается exectly REPEAT_COUNT раз, потому что вид.метод post () дает возможность запускать новую анимацию после завершения всех действий, связанных с предыдущей анимацией.
с Android sdk версии 4.0.3:
в заданных элементах анимации:
android: repeatCount= «-1»
делает его бесконечной анимацией.
добавьте в свой проект следующий класс:
для бесконечного цикла вашего представления выполните следующие действия:
Если вы хотите повторить анимацию только N раз, сделайте следующее:
N означает количество повторений.
Я делаю большую часть своих вещей программно, и я могу опоздать или неэффективно на этом, но это, но я завершил повторение цели animationset (у меня даже есть 2 чередующихся набора анимации). Все, что делает этот код, — это просто исчезает в одном изображении,пауза, затем исчезает, исчезает в другом изображении, пауза, исчезает и возвращает первый (промыть и повторить). Сначала я определил свои Imageviews:
затем я сделал два таймера, таймеры задач и обработчики, чтобы иметь дело с тем, когда начинать и останавливаться каждая анимация:
наконец, вместо создания наборов анимации путем добавления анимации, я просто слушатели анимации, чтобы определить, когда начинать каждую анимацию:
clearanimation и недействительны, где только предыдущие попытки и получение этой вещи, чтобы работать правильно. Не знаю, нужны они или нет.
надеюсь, это кому-то поможет.
Я должен это сделать . я пытался заставить вид непрерывно вращаться по кругу .
предыдущий я использовал вращение.setRepeatMode(-1), но это не сработало. перешли на setrepeatcount и он работает. Это на jelly bean 4.2.2
вы должны добавить одну строку в XML-код, который я предложил ниже .
попробуйте добавить код в циклический поток или оператор while/for
я столкнулся с той же проблемой, но не хотел делать какие-либо вещи синхронизации в Java из-за того, что поток пользовательского интерфейса может быть очень занят иногда. Бесконечный флаг не работает для тега set. Поэтому я решил проблему с помощью небольшого фрагмента кода:
со следующим XML:
где mIcon-это ImageView из моего макета.
Я решил эту проблему. Это моя версия исправления:
Я только что столкнулся с этой проблемой при работе над обратно совместимым приложением. такое разочарование! я закончил кодирование хорошего обходного класса, который можно вызвать из onCreate и запустит любой ресурс анимации в неопределенный цикл.
класс AnimationLooper доступен здесь: https://gist.github.com/2018678
после изучения ответов из интернета я нашел решения, которые отлично работают для меня. (И да, repeatCount и repeatMode чрезвычайно багги при использовании вместе с animationSet).
в деятельности: (Решите это, введя небольшую задержку после окончания анимации).
есть много классов, которые вы хотели бы исследовать, но в настоящее время я с помощью objectAnimator, который очень гибкий. Я бы не рекомендовал использовать анимацию или AnimationUtils:
- анимация
- AnimationUtils
- аниматор
- AnimatorInflater
- AnimatorListener
- AnimatorListenerAdapter
нужно прослушать для завершения первой анимации, а затем повторно запустить анимацию в onStopAnimation перезвоните, попробуйте это ссылке
маленькая настройка на @Danufr ответ, чтобы сохранить ресурсы от загрузки снова.
Я решил эту проблему, используя reverse раньше в моем проекте.
Источник
Этот скрытый переключатель в Android может либо ускорить смартфон, либо сделать его плавнее
Несмотря на то, что лучшие дешевые Android-смартфоны за последние несколько лет стали намного быстрее, они по-прежнему не достигли уровня флагманов, и даже самые дорогие устройства иногда могут показаться немного вялыми. Однако можно сделать смартфон более быстрым, уменьшив количество анимаций, либо сделать его плавнее, совершив обратное действие.
Каждое действие на вашем смартфоне вызывает различную анимацию. Они разработаны производителем как часть программного обеспечения. Независимо от того, кто делает ваш смартфон, вы можете сократить или увеличить время, которое занимает анимация.
Содержание
Ускоряем смартфон: уменьшаем время анимации
Чтобы иметь возможность ускорить анимацию на вашем устройстве, сначала нам нужно включить режим разработчика, после чего останется совершить всего несколько нажатий:
- Откройте настройки на вашем смартфоне.
- Прокрутите вниз и нажмите «О телефоне».
После внесения вышеуказанных изменений вы можете вернуться к обычному использованию смартфона и наслаждаться его увеличившейся скоростью.
Делаем смартфон плавнее: увеличиваем время анимаций
Чтобы сделать ваш смартфон более плавным, нужно совершить те же самые действия, но при этом выбрать значение, которое больше чем 1х. Я обычно ставлю 1.5х в параметрах «Анимация окна» и «Длительность анимации», чтобы такие элементы интерфейса, как клавиатура, выпадающие и всплывающие меню, отображались более медленно и плавно. Если выбрать слишком высокие значения, анимации могут стать чересчур медленными, так что экспериментируйте осторожно.
Вне зависимости от того, бюджетный у вас Xiaomi или сверхновый флагман Samsung Galaxy S21, анимации сделаны таким образом, что им требуется какое-то время для отображения. Поэтому их скорость не зависит от мощности процессора или объёма оперативной памяти, вместо этого её можно регулировать программно описанными выше способами.
Источник