我的活动或活动中的片段使用异步任务来执行CPU密集型工作。我想知道在异步任务中哪里使用主机活动或片段是安全的。
我猜onPostExecute应该没问题,因为Async任务旨在帮助UI线程,我看到在onPostExecute中更新UI的示例。
但是在doInBackground中这样做是否安全?在doInBackground期间是否有可能破坏片段或活动?
答案 0 :(得分:1)
您的doInBackground()可以调用publishProgress()将进度更新发送到UI线程。然后,您可以覆盖onProgressUpdate()并从该方法内部更新UI。
是的,在AsyncTask运行时,您的片段和活动可能会被销毁。在从AsyncTask更新UI之前,您必须检查它。
http://developer.android.com/reference/android/os/AsyncTask.html
有更多信息