2

几天前我遇到了一个问题。我发现了一些类似的帖子,但仍然不理解我的代码的问题。

事实上,我正在读取一个包含 SQL 查询的文件(18,4Kbytes)。所以我唯一想做的就是读取文件并执行查询。

我读取文件没有问题,执行所有查询后会出现问题(如果我不执行它,它可以工作,但不是交易!)

所以这是我的代码(在 IO Exception 的 try / catch 之间):

InputStream in = ctx.getAssets().open("file.sql");
ByteArrayBuffer queryBuff = new ByteArrayBuffer(in.available());
String query = null;
int curent;

while (-1 != (curent = in.read())) {
    queryBuff.append((char) curent);

    if (((char) curent) == ';') {
        query = new String(queryBuff.toByteArray());
        db.execSQL(query);
        queryBuff.clear();
        query = null;
    }
}
in.close();
queryBuff.clear();

我的 GC_CONCURENT 发生在循环结束后循环中有“新字符串”时。

谢谢 !

编辑:我有点恼火,因为我的内存泄漏没有发生在这部分代码中,而是发生在稍后执行的部分代码中(现在不知道是什么)但我的问题不是问题,应用程序实际上工作正常......对不起!

4

0 回答 0