我想知道android中FutureTaskAsyncTask之间的区别。根据我的想法,我们可以在FutureTask中获得当前的情况。使用ExecutorService,我们可以创建一个并行进程池。我们可以使用AsyncTask实现相同的属性。我想知道在哪里使用AsyncTask以及何时使用FutureTask的情况。

我问了一个问题 here但没有得到任何答复。现在我认为我应该改变获取Web服务数据的方式。所以我认为我应该使用FutureTask,因为它们具有像isDone()这样的功能

并取消。请有人指导我任何更好的从Web服务检索数据的方法。因为我的textView设置的适配器太慢。

或者只是我需要一种方法来取消正在运行的AsyncTasks或将其替换为当前的AsyncTasks。当用户按下w时,它会调用AsyncTask,当他在AutotextView中向其中添加任何单词时,它将为waka调用三次,为wawak调用一次,为waka调用。用户按下另一个文本时是否可以取消正在运行的任务。看到我的Question here for Details

最佳答案

AsyncTask 提供了保证在UI线程上运行的回调(onPreExecuteonProgressExecuteonPostExecute)。 AsyncTask已弃用(感谢chokdee)。
FutureTask 不提供回调,并且对Android UI线程一无所知。实际上,Android应用程序不应从UI线程调用Future.get(),因为它可能会阻止。
Android应用程序应使用Kotlin coroutines。如果您陷入Java困境,请使用FutureTask

关于android - Android中FutureTask和AsyncTask之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24950686/

10-13 03:40