当前位置: 代码迷 >> 其他数据库 >> SQLite3内存泄露
  详细解决方案

SQLite3内存泄露

热度:8232   发布时间:2013-02-26 00:00:00.0
SQLite3内存泄露 紧急求助
在用SQLite操作大数据量时,发现应用程序占的内存一直在上涨.直到500M,报Out of memory错误,而此时系统的总共内存有3G.
操作都是些普通的操作.Sqlite3_Prepare,Sqlite3_BindText,Sqlite3_Step,Sqlite3_Exec等.
发现Sqlite3_Exec最可疑,有内存泄露的情况,一执行此动作就有几十K到几百K的内存丢失.
当然提交的数据量比较大,可能有几百个SQL同时提交.
郁闷,现在不知道怎么会丢失内存.有没有人发现这个函数会丢失内存呢?

------解决方案--------------------------------------------------------
你用了Prepare,
sqlite3_finalize(pstmt);
Destroy A Prepared Statement Object
int sqlite3_finalize(sqlite3_stmt *pStmt);

------解决方案--------------------------------------------------------
sqlite3_free(null)试试
------解决方案--------------------------------------------------------
呵呵,自己解决更好,SQLITE也有泄露问题