我正在使用AsyncTask子类来执行加载和保存到数据库中。当我的应用程序退出时,它将取消mayInterruptIfRunning设置为false的任务,以便包装现有的数据库写入并且数据库不会处于部分无效状态。我的问题是,在此之后,我能否确定Android不会强行停止我的数据库任务?我的预感 no ;因此,我需要找到一些方法来确保我的数据库不会处于只写入部分数据的状态。
编辑:第二个想法,我宁愿在退出时取消任务。如果AsyncTask在我的应用程序被停止或销毁时正在进行数据库工作,我需要使用其doInBackground方法来完成。
答案 0 :(得分:0)
如上所述...... Does an AsyncTask stops when I close the application? ...如果系统在内存不足的情况下杀死应用程序,Android将终止任务。在其他情况下,您需要通过调用.finish()(对于运行任务的Activity)或者cancel()(对于AsyncTask本身)来显式停止AsyncTask。
希望这有帮助。