当前位置:  开发笔记 > 数据库 > 正文

在iphone中使用sqlite数据库时的内存管理

如何解决《在iphone中使用sqlite数据库时的内存管理》经验,为你挑选了2个好方法。

我的应用程序使用SQLite数据库来存储用户的输入.输入中的记录数将大约为100条记录,我在应用程序中进行了大量的SQL操作.

当我使用Object Allocations运行应用程序时,它会显示sqlite库libsqlite3.0.dylib占用大量内存.libsqlite框架会导致内存泄漏吗?与数据库通信的最佳方式是什么?进行大量的SQL调用会增加我的应用程序的内存使用量.

有人可以让我知道在应用程序中有效使用sqlite的最佳方法.(我使用SQLiteBooks示例作为参考)

谢谢.



1> Stephan Burl..:

Sqlite为请求使用缓存.关闭并重新打开数据库,以释放缓存.

除非你的记忆要求很高,否则你不应该在乎.

您可以在UIApplicationDelegate方法applicationDidReceiveMemoryWarningUIViewController委托方法didReceiveMemoryWarning中捕获关键条件

如果调用其中一个方法,请关闭并重新打开数据库.



2> Stephen Darl..:

我没有看到由sqlite引起的任何内存泄漏.它确实使用了一块合理的内存,但想想你需要编写多少代码以及需要缓存的数据来做同样的事情......

最好的建议是使用高效的SQL并尽快重置语句句柄.完成准备好的陈述也可能有所帮助,尽管我没有发现需要这样做.

人们经常建议定期关闭并重新打开数据库.虽然这不会伤害我自己也没有看到任何实际的好处.

最后,在sqlite网站上,您将看到有关管理内存的功能的讨论.这些声音非常诱人,直到您意识到它们是可选的并且未在iPhone上的默认构建中启用.

推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有