在AsyncTask中使用主机片段/活动是否安全?

时间:2014-01-29 19:10:41

标签: android android-fragments android-activity android-asynctask

我的活动或活动中的片段使用异步任务来执行CPU密集型工作。我想知道在异步任务中哪里使用主机活动或片段是安全的。

我猜onPostExecute应该没问题,因为Async任务旨在帮助UI线程,我看到在onPostExecute中更新UI的示例。

但是在doInBackground中这样做是否安全?在doInBackground期间是否有可能破坏片段或活动?

1 个答案:

答案 0 :(得分:1)

您的doInBackground()可以调用publishProgress()将进度更新发送到UI线程。然后,您可以覆盖onProgressUpdate()并从该方法内部更新UI。

是的,在AsyncTask运行时,您的片段和活动可能会被销毁。在从AsyncTask更新UI之前,您必须检查它。

http://developer.android.com/reference/android/os/AsyncTask.html

有更多信息