2009-09-29 87 views
0

我正在使用SQLite数据库,并且我需要大约15-20个查询来交流数据库和提取数据。我在做的是准备这个查询,同时分配一个DBPersistence对象来处理与数据库的通信。这个DBPersistence是一个单例类。准备好的SQLite语句在iPhone中占用多少内存?

我的运行时内存消耗差不多是3MB,因为我收到内存警告。我正确地重新设置使用后的每个准备好的声明。

除了使用FMDB或CoreData之外,有什么方法可以减少内存消耗吗?

回答

0

每个sqlite准备好的语句本身不应该占用超过几百个字节(当然,这是一个典型的准备好的语句,当然你可以从几千个字符的SQL开始,数百个的变数,这会破坏事情,但我假设你是理智的;-)。所以15-20这样的陈述应占用几KB;我怀疑他们可以解释你的兆字节的浪费(我不知道如何检查什么是占用iPhone上的内存,我依靠SQLite的更普通的部署环境来衡量这些信封数字的背面,我想象iPhone的SQLite准备语句的内存消耗是可比的)。我建议你应该在其他地方寻找过度消耗内存的来源。

0

在完成查询执行后您是否调用sqlite3_finalize?它从准备好的语句中释放它创建的内存。情况往往如此。