【问题标题】:Run Async Task when app is closed only仅在应用关闭时运行异步任务
【发布时间】:2016-02-24 06:29:19
【问题描述】:

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

真诚的洛基

【问题讨论】:

标签: android asynchronous


【解决方案1】:

您应该使用Thread 而不是AsyncTask,但如果您想使用AsyncTask,您需要执行以下操作:

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

  2. 在创建AsyncTask时使用应用程序Context而不是活动Context,因为活动Context在活动销毁后无效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-25
    • 2018-09-12
    相关资源
    最近更新 更多