我有一个activity,在其中使用asyctask的子类与后端服务器进行服务器同步。
鉴于这是一个网络任务,可能需要几秒钟的时间。我担心出现以下情况。
活动开始时,无论何时asynctask应该开始运行,都会这样做。onPrexecute()被调用、执行并结束。然后调用doInBackground(),但是当方法被执行时,用户按下home按钮并从最近的应用程序中向右滑动应用程序。(这当然会导致应用程序终止,并调用所有已存在的活动的onDestroy方法..(如果我在这一点上错了,请纠正我))。
在我的onPostExecute()方法中,我正在将数据插入DB并更新VIEWs。但是由于应用程序被“终止”,onPostExecute()方法永远不会运行。
我的问题是:
1.当用户按下home键并退出应用程序并滑动应用程序时,doInBackground是否在那时停止?也就是说,它被切成两半,不再继续做什么? 2.我即将从服务器获取并放入DB中的数据将发生什么?是否建议在doInBackground中将数据放入db中?
鉴于这是一个网络任务,可能需要几秒钟的时间。我担心出现以下情况。
活动开始时,无论何时asynctask应该开始运行,都会这样做。onPrexecute()被调用、执行并结束。然后调用doInBackground(),但是当方法被执行时,用户按下home按钮并从最近的应用程序中向右滑动应用程序。(这当然会导致应用程序终止,并调用所有已存在的活动的onDestroy方法..(如果我在这一点上错了,请纠正我))。
在我的onPostExecute()方法中,我正在将数据插入DB并更新VIEWs。但是由于应用程序被“终止”,onPostExecute()方法永远不会运行。
我的问题是:
1.当用户按下home键并退出应用程序并滑动应用程序时,doInBackground是否在那时停止?也就是说,它被切成两半,不再继续做什么? 2.我即将从服务器获取并放入DB中的数据将发生什么?是否建议在doInBackground中将数据放入db中?