使用windows进程资源管理器,我可以看到我的程序中的内存上升,然后被收集并以常量循环的形式回落,直到我取消注释以下函数:
protected function marker( output:FileStream, file:File, i:int, j:int ):void
{
output.open( file, FileMode.APPEND );
output.writeUTFBytes( i + "\t" + j + "\n" );
output.close();
}
调用此函数后,内存会无限增加,直到达到2GB左右,整个内存崩溃并出现内存不足错误。我希望有人可以了解这里泄漏的位置以及如何修复它,因为我希望能够合理地频繁调用此功能。谢谢。我认为它每次都会创建一个新的字符串,但不知道为什么它不会被收集,如果这实际上是正在发生的事情。