Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java setImage通常不阻塞用户界面线程_Java_Android Studio_Animation_Kotlin_Lag - Fatal编程技术网

Java setImage通常不阻塞用户界面线程

Java setImage通常不阻塞用户界面线程,java,android-studio,animation,kotlin,lag,Java,Android Studio,Animation,Kotlin,Lag,我有一个图像视图。当用户按下按钮时,我想更改图像(这是动画列表)并运行此动画。我以前使用setImageResource,但它会阻塞UI线程并导致延迟。我无法预测在用户按下按钮之前我会设置什么图像。我试图预加载可绘制文件,但这会导致OOM,因为我有大约30个带有动画列表的XML。我怎样才能解决它?总而言之,我想在ImageView中快速更改图像,然后在其上启动帧动画。我认为您正在UI线程上对图像执行提取操作(从存储或网络调用)。这就是造成延迟的原因。您可以考虑使用库来加载图像。有一个很容易实现的

我有一个图像视图。当用户按下按钮时,我想更改图像(这是动画列表)并运行此动画。我以前使用setImageResource,但它会阻塞UI线程并导致延迟。我无法预测在用户按下按钮之前我会设置什么图像。我试图预加载可绘制文件,但这会导致OOM,因为我有大约30个带有动画列表的XML。我怎样才能解决它?总而言之,我想在ImageView中快速更改图像,然后在其上启动帧动画。

我认为您正在UI线程上对图像执行提取操作(从存储或网络调用)。这就是造成延迟的原因。

您可以考虑使用库来加载图像。有一个很容易实现的方法叫做。它已经存在了一段时间,所以应该很容易看到一些例子