gpt4 book ai didi

android - 什么时候将缓存数据提交到android中的数据库中

转载 作者:搜寻专家 更新时间:2023-10-30 23:11:22 25 4
gpt4 key购买 nike

我在我的应用程序中有一个要求,我必须时不时地对数据库执行插入和更新查询。现在,我的问题是应在应用程序内维护缓存,并在特定时间间隔后或可能在 20 个条目后,将缓存提交到数据库中?

如果是这种情况,我应该在哪里维护缓存。应该在应用层面还是在服务层面?

有可能说应用程序突然崩溃,因此缓存中的数据不再存在。

这可能是什么情况。

我在某处读到,每次打开和关闭数据库都是一项开销。注意:我的数据库驻留在 sdcard 中。

谢谢。

最佳答案

我在我的应用程序中有一个要求,我必须时不时地对数据库执行插入和更新查询。现在,我的问题是应在应用程序内维护缓存,并在特定时间间隔后或可能在 20 个条目后,将缓存提交到数据库中?

SQLite 中的插入操作相当快。确保在 finally block 中关闭数据库以避免数据库处于打开状态。这可以阻止进一步的插入。尽可能使用批量插入,它们要快得多。 See here

如果是这种情况,我应该在哪里维护缓存。应该在应用层还是服务层?

服务也来自应用层 :) 。有可能在服务中维护缓存并使服务在单独的进程中运行。 See here.

有可能说应用程序突然崩溃,因此缓存中的数据不再存在。

剩下的唯一选择是,要么在其他进程中维护缓存(随时可能再次崩溃),要么在磁盘上维护它,可能是内部存储。在内部存储上维护缓存与写入 sqlite 一样好或坏。

这可能是什么情况。

你实现缓存或者不实现。

我在某处读到,每次打开和关闭数据库都是一项开销。注意:我的数据库驻留在 sdcard 中。

据我所知,打开一个 SQLite 相当于打开一个文件(虽然速度稍慢),但无法与打开 Oracle 数据库相提并论。所以大多数时候打开数据库是负担得起的,但是批处理插入以提高性能永远不会受到伤害;)

关于android - 什么时候将缓存数据提交到android中的数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19698995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com