【问题标题】:Will Android interrupt an AsyncTask after the application quits?应用程序退出后,Android 会中断 AsyncTask 吗?
【发布时间】:2023-03-12 07:03:01
【问题描述】:

我正在使用 AsyncTask 子类来执行加载和保存到数据库中。当我的应用程序退出时,它将取消将 mayInterruptIfRunning 设置为 false 的任务,以便结束现有的数据库写入,并且数据库不会处于部分无效状态。我的问题是,我可以确定 Android 在此之后不会强行停止我的数据库任务吗?我的预感是没有;因此,我需要找到一些方法来确保我的数据库不会处于只写入部分数据的状态。

编辑:再想一想,我什至不想在退出时取消任务。如果在我的应用程序停止或销毁时 AsyncTask 正在执行数据库工作,我需要完成它的 doInBackground 方法。

【问题讨论】:

    标签: android sqlite android-asynctask


    【解决方案1】:

    正如这里所说...Does an AsyncTask stops when I close the application? ... 不。如果系统在内存不足的情况下终止应用程序,Android 将终止任务。在其他情况下,您需要通过调用 .finish()(对于运行任务的 Activity)或 cancel()(对于 AsyncTask 本身)来显式停止 AsyncTask。

    希望这会有所帮助。

    【讨论】:

    • 谢谢;抱歉未能找到现有线程。
    猜你喜欢
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多