我想在关闭应用程序时运行异步任务,然后才开始运行。我尝试将它放在onDestroy()方法中,但有时只会被调用(例如应用程序崩溃时)。我还尝试将它放在onPause()方法上,但它也会在用户尝试查看其他应用程序时运行,而不是仅在应用程序关闭时运行。谢谢!
此致,Rocky
答案 0 :(得分:2)
您应该使用Thread
代替AsyncTask
,但如果您想使用AsyncTask
,则需要执行以下操作:
不要更新AsyncTask
中的用户界面,因为onDestroy
会删除该活动的资源和上下文。如果您尝试更新它们,它将崩溃。
在您创建Context
时使用应用Context
而非活动AsyncTask
,因为活动被销毁后活动Context
无效。