я бы хотел реализовать эффект затухания на основе Blur, или как это называется, при запуске приложения. То есть радиус размытия становиться нулевым за пару секунд.
Видео
При запуске приложения (Сразу же после показа splashscreen), создается слой Blur (библиотека RealtimeBlurView), создается поток который в цикле for уменьшает радиус размытия, с задержкой.
И выходит, что у меня на телефоне (Xiaomi Mi5) все работает замечательно, но на более слабых телефонах уже лагает. Лагает на Samsung Galaxy S4 (GT-I9515).
Как можно добиться того же эффекта, но чтобы работало везде, и без лагов?
Блюр - очень тяжелый эффект. Размытие по Гауссу, имеет сложность r^2 для каждого пикселя. то есть общая сложность алгоритма O(width * height * r^2). Если вы ставите внушительный радиус то вполне можете не уложиться во время кадра, отсюда и тормоза. Пропишите зависимость максимального радиуса размытия от телефона. Еще можете попробовать вместо параллельного потока менять радиус с помощью ValueAnimator
Ну и последний вариант: найти решение с использованием OpenGL или сделать такой самому. По беглому изучению библиотеки она не только графику не приплетает, но и не оптимизирует размытие. Хотя может не туда смотрел
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
В каких случаях нужен null, кроме отложенной инициализации в java? Как определить на начальной стадии - может ли объект быть nullable?
Подскажите редактор, который я мог бы добавить себе на сайт для того, чтобы я мог создавать в нем статьиНужен похожий редактор как у StackOverflow...