gpt4 book ai didi

ios - 何时在 iOS 应用程序中使用 sqlite3_close

转载 作者:行者123 更新时间:2023-11-29 12:05:08 26 4
gpt4 key购买 nike

我在我的 iOS 游戏中使用 Sqlite 3 来保存/加载他们完成的每个任务的用户分数(我完成了超过 4k 个任务)。我的需求很基本;我只有一个 sqlite 表,我在启动时将所有分数加载并缓存到内存中(在最坏的情况下内存占用不超过 130k),然后我以一次/5 的频率执行一个简单的更新/插入数据库分钟。

我的问题:

  • 我应该为每个事务sqlite3_open()sqlite3_close() 数据库,还是在启动时打开它并保持事件状态以仅在应用程序终止时关闭它?
  • 保持数据库打开是否会消耗大量内存?
  • 如果应用程序在数据库打开时崩溃,是否存在损坏数据的风险?

最佳答案

  1. 当应用进入前台时打开数据库,当应用进入后台时关闭数据库(这与启动/关闭不同)。还将重新打开逻辑构建到获取数据库句柄的方法中,因此您可以随时关闭它(即内存警告),并且当您下次要使用它时它总是会尝试重新打开。您似乎已经发现您不想为要执行的每个查询打开/关闭数据库,因为它稍微有点贵。
  2. 不是真的;与小图像的大小相比,没有什么。一两个文件句柄,一些高速缓存。别担心。
  3. 是的。您可以使用交易来降低这种风险,但是除非您真的担心腐败,否则没有必要这样做。

关于ios - 何时在 iOS 应用程序中使用 sqlite3_close,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35316839/

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