gpt4 book ai didi

android - 如果另一个相同的线程启动,如何停止一个线程

转载 作者:行者123 更新时间:2023-11-29 22:24:11 25 4
gpt4 key购买 nike

每次用户按下按钮时,都会执行以下代码。

new Thread() {
@Override
public void run() {
aA = new albumArt(foo.getField("albumArt"),albumArt.GLOSSY_1, albumart,getBaseContext());
runOnUiThread(new Runnable() {
public void run() {
aA.placeAlbumArt();
}
});
}
}.start();

这里有一个问题:

例如:用户按下按钮 => 图像 A 开始下载。用户按下按钮(在图像 A 完成之前)=> 图像 B 开始下载。

图像 B 完成(在图像 A 之前)下载并显示(使用 aA.placeAlbumArt())。图片 A 完成并替换图片 B。

如果图像 A 稍后完成,我如何避免图像 A 替换图像 B?

我的意思是,如果另一个线程(图 B)在第一个线程完成之前启动,我有什么办法可以取消线程(图 A)?

这也有助于避免大量点击排队和无用地执行整个过程。我的意思是,如果用户在图像 A 完成之前按下按钮,则完成图像 A 的处理没有意义。如果用户在图像 A 完成之前按下按钮 5 次,则下载图像 A、B、C 和D. 它应该只下载 E(第五次点击)。

最佳答案

如果您要使用 AsyncTask那么你可以cancel它。您应该能够毫不费力地将 Thread 换成 AsyncTask。

关于android - 如果另一个相同的线程启动,如何停止一个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6397698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com