我正在编写一个对 sqlite 数据库进行多次调用的 iPhone 应用程序。我的问题是,最好是打开并关闭每个查询的数据库连接,还是让它打开并在应用程序关闭时关闭它。
在我的应用程序中,有时我可能会循环多次迭代,并且每次都向数据库添加一行,但正如我现在所拥有的那样,对于每次迭代,我都会打开数据库,执行操作,然后关闭数据库。
我会让它在应用程序处于前台时一直保持打开状态,只有在它进入后台或收到内存警告时才关闭它。打开连接可能会很昂贵,所以我喜欢尽可能少地这样做,但是它可能会消耗可以在其他地方更好地使用的资源。
如果连接尚未打开,您需要编写所有数据库访问代码以打开连接;所以你可以随时关闭它。
就个人而言,如果您要进行大量调用以更新数据库,那么我会尝试使其保持打开状态。如果有“块”逻辑可以让数据库保持打开状态,那就太好了,也许在应用程序运行时一直打开它可能不是最好的事情 - 但这真的取决于你的架构应用程序。