setImage часто без блокировки потока пользовательского интерфейса Android - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть ImageView. Когда пользователь нажимает кнопку, я хочу изменить изображение (это анимационный список) и запустить эту анимацию. Раньше я использовал setImageResource, но он блокирует поток пользовательского интерфейса и вызывает лаги. Я не могу предсказать, какое изображение я бы установил до нажатия пользователем кнопки. Я попытался предварительно загрузить drawables, но это вызывает OOM, потому что у меня есть около 30 xmls с animation-list. Как я могу решить это? Подводя итог, я хочу быстро изменить изображение в моем ImageView и затем запустить анимацию кадра на нем.

Ответы [ 2 ]

0 голосов
/ 19 февраля 2020

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

0 голосов
/ 19 февраля 2020

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

...