我有一个应用程序在获取大型结果集时会占用内存(我的 blob 字段可以轻松运行几千字节)。经过大量搜索,我想我已经跟踪到 resultset::getblob() 的泄漏。如果我注释掉 getblob 行,它会正常运行。如果我把它留在结果集中也没关系,但是一旦我调用 getblob,我就会听到那种吸吮的声音,那就是记忆从管子里流下来。
查看连接器的代码,我发现它返回了一个“新的”字符串流。我认为这是罪魁祸首。这个“新”在哪里被删除?我确实删除了结果集和preparedstatement。也尝试关闭结果集无济于事。我看到的任何例子似乎都没有做任何事情来处理这个问题。
有人对此有任何经验/解决方法吗?
蒂亚!