【发布时间】:2013-05-29 04:28:59
【问题描述】:
我的 android 应用程序使用 AsyncTask 从网站下载一些数据。
但是当我在活动开始后立即按下我的android设备的后退按钮时,工作线程的onPostExecute方法被调用,这很奇怪,因为android之前调用了onDestroy方法到 onPostExecute 和 onPostExecute 方法在我认为不再存在的主 UIThread 上运行。
谁能帮我解决我不明白的问题?
【问题讨论】:
-
AsyncTask 的全部意义在于在单独的线程上运行一个进程,因此它将在主 UI 线程的 onDestroy 之后完成,因为它不是同一个线程。如果您想在按回时终止任务,可以在 onBackPressed() 方法中调用 yourTaskName.cancel()
标签: android android-activity activity-lifecycle background-thread