onPause()中的文件持续状态需要很长的时间

问题描述:

请考虑以下情况。我有一个应用程序,它拥有大量的数据并保存到文件中。为此,我在onPause方法中产生了一个AsyncTask。onPause()中的文件持续状态需要很长的时间

问题是,它需要相当长的时间。用户可能会关闭活动并重新启动它,但是,在再次创建活动之前,文件未完全保存到磁盘。因此,在下次启动时,活动包含不正确的数据。我该如何处理这个问题,即确保数据在下次启动前完全保存到磁盘中?

+0

你在这些文件中保存了什么?为什么不使用数据库? –

+0

我使用gson,这很有用,因为这些文件稍后会导出。在数据库的情况下,是不是有同样的问题(可能需要很长时间)? – AlexSee

你只需要检查你的数据是否已经存储或没有。很明显,自定义标志,“触及”文件等。 使您的UI逻辑更加容易,以避免此问题。

+0

假设我使用触摸文件,我怎样才能确保抵御可能出现的问题的弹性,比如:保存文件时我的应用程序被终止,权限有问题,我无法触及文件等?换句话说,如何区分我正在等待文件被触摸的情况和发生错误的情况? 另外,当我打开应用程序,我仍然在等待文件被触摸时该怎么办?显示进度条并检查一些固定的时间间隔? – AlexSee

+0

在我的练习中,我使用前台服务和start_sticky标志 – Vyacheslav

+0

@AlexSee,我的意思是在我的代码中,巨大的工作不是在活动内执行,而是在服务 – Vyacheslav