AsyncTask真的在后台做事吗?

时间:2015-02-25 18:26:29

标签: android multithreading android-asynctask

我使用AsyncTask从服务器获取html文件。但是当活动开始时,屏幕变为白色几秒钟,并在完全下载时显示数据。

我希望它首先显示活动的基本布局(例如操作栏),然后再显示下载的数据。所以我使用Thread并解决了问题。(首先显示基本布局,稍后显示数据)

我一直在知道AsyncTask是异步做事,但就我而言,它没有。(在doInBackground中,我只做了网络连接)

AsyncTask真的在后台做事吗?

1 个答案:

答案 0 :(得分:4)

  

AsyncTask真的做背景吗?

但请注意,AsyncTask默认是序列化的,这意味着如果您分叉多个AsyncTask个实例,它们将共享一个线程,第二个和后续任务将排队等待,直到第一个任务完成。您可以使用executeOnExecutor()而非execute()来运行任务来避免这种情况。

还有其他方法可能会误导AsyncTask(例如,调用get())。