我正在编写一个具有“在线模式”的应用程序,即根据需要下载、解析数据并插入到 SQLite 数据库中。所有这些都是由服务执行的。该应用程序包含多个请求服务进行数据更新的活动(不同的数据取决于活动)。
当用户浏览活动时(无需等待服务完成),很容易得到 SQLiteExceptions(消息:数据库已锁定)。
我考虑过使用同步块,但这会迫使用户在加载新活动(需要访问数据库才能加载)时等待服务完成更新。所以这似乎是一个死胡同。
另一种选择可能是在每个活动的 onStop 方法中停止更新。当然,更新会被中断,但这不是什么大问题。问题是我不确定如何处理它。
我的问题是,我该如何/应该如何处理这个问题?