executeAndWait を呼び出して応答が返されたときに、ヒープで 76KB のメモリが増加していることがわかります。なぜそれが起こるのかわかりません。このメモリを消去するにはどうすればよいですか? db との接続の作成は次のとおりです。
bool DBHelper::checkConnection(bool isAsynch)
{
if(sqlConnector && dbFile->exists())
{
return true;
}
if (dbFile->exists())
{
sqlConnector = new SqlConnection(dbPath, "connect");
connect(sqlConnector, SIGNAL(reply(const bb::data::DataAccessReply&)), this,
SLOT(onLoadAsyncResultData(const bb::data::DataAccessReply&)));
return true;
}
return false;
}
executeAndWait への呼び出しはこの関数にあります。
void DBHelper::execute (const QVariant &criteria,int id,bool isAsynch)
{
if (checkConnection(isAsynch))
{
if(!isAsynch)
{
DataAccessReply reply= sqlConnector->executeAndWait(criteria, id); // memory leak happens when the reply is found.
this->onLoadSynchResultData(reply);
}
}
}
ドキュメントのリンクはここにあります。
ありがとう。