仅在应用关闭时运行异步任务

时间:2016-02-24 06:29:20

标签: android asynchronous

我想在关闭应用程序时运行异步任务,然后才开始运行。我尝试将它放在onDestroy()方法中,但有时只会被调用(例如应用程序崩溃时)。我还尝试将它放在onPause()方法上,但它也会在用户尝试查看其他应用程序时运行,而不是仅在应用程序关闭时运行。谢谢!

此致,Rocky

1 个答案:

答案 0 :(得分:2)

您应该使用Thread代替AsyncTask,但如果您想使用AsyncTask,则需要执行以下操作:

  1. 不要更新AsyncTask中的用户界面,因为onDestroy会删除该活动的资源和上下文。如果您尝试更新它们,它将崩溃。

  2. 在您创建Context时使用应用Context而非活动AsyncTask,因为活动被销毁后活动Context无效。