Android调用AsyncTask.execute与扩展AsyncTask有什么区别?

时间:2018-02-20 19:38:16

标签: android android-asynctask

在Android中调用AsyncTask.execute(新的Runnable ..与扩展AsyncTask和调用doInBackground(..)之间有什么区别/优势?

在某个时间间隔内,我将使用HttpURLConnection POST到服务器并检索信息。我不确定哪种方法是处理此类操作的首选方法。

1 个答案:

答案 0 :(得分:0)

扩展AsyncTask的类可以有一个带参数的构造函数,然后您可以在该类中使用此值。这样,您的AsyncTask可以具有不同类型的不同参数。我没有看到任何其他优势。

我更喜欢使用ThreadPoolExecutor而不是AsyncTask来提高developer.android.com的性能:

  

线程池解决了两个不同的问题:由于减少了每个任务的调用开销,它们通常在执行大量异步任务时提供更高的性能,并且它们提供了一种绑定和管理资源(包括执行时消耗的线程)的方法一系列任务。每个ThreadPoolExecutor还维护一些基本统计信息,例如已完成任务的数量。

但是,对于API连接,我更喜欢使用retrofit,请尝试一下。