我有一个活动,我使用 asyctask 的子类与后端服务器进行服务器同步。
鉴于这是一项网络任务,可能需要几秒钟。我害怕发生以下情况。
活动开始,并且每当异步任务应该开始运行时,它都会这样做。onPrexecute() 被调用、执行和结束。然后调用 doInBackground() 并执行此操作,但是,就在执行该方法时,用户按下主页按钮并从最近的应用程序中滑动应用程序。(这当然会导致应用程序终止,并且所有 onDestroy 方法都被调用活动活动..(如果我在这个问题上错了,请纠正我))。
在我的 onPostExecute() 方法中,我将数据插入数据库并更新视图。但由于应用程序已“终止”,因此 onPostExecute() 方法永远不会运行。
我的问题是:
- 当用户按下主页按钮并离开应用程序并滑动应用程序时,doInBackground 在那一刻停止了吗?也就是说,它在中间被切割并且不继续它的作用?
- 我将从服务器获取并放入数据库的数据会发生什么?是否建议将数据放在 doInBackground 内的数据库中?