2

AsynchTask得到onPostExecute()方法依赖于UI线程。假设我们通过按回来按钮关闭一个活动,而AsynchTask doInBackground()方法仍在进行中。安卓:Asynchtask的onPostExecute活动结束后

  1. 我想知道会onPostExecute执行通过考虑活动没有显示在屏幕上了吗?
  2. 如果答案是最好的,它会引起异常吗? (因为访问不再显示在屏幕上的UI对象)。
+0

可能重复不会停止活动,即使已经销毁](http://stackoverflow.com/questions/2531336/asynctask-wont-stop-even-when-the-activity-has-destroyed) – flx

回答

2

1 - 我想知道会onPostExecute执行通过考虑 活动没有显示在屏幕上了吗?

是的!

2 - 如果答案是最好的,会引起异常吗? (因为 访问不再显示在屏幕上的UI对象)。

是的!它可能会导致异常,因为你对你的活动和观看次数的实例,它在你的AsyncTask使用不存在了

这个链接将帮助你更:AsyncTask won't stop even when the activity has destroyed

的[的AsyncTask
+0

但是当活动为空任何解决方案时该怎么办? – PankajAndroid

+0

@PankajAndroid:当活动正在销毁时,您可以对asynctask进行加密,或者您可以检查onPostExecute上的空活动上下文。 –