在大文本文件上使用扫描仪后释放内存?

时间:2013-06-21 14:44:48

标签: java android eclipse memory java.util.scanner

如果我在下面运行一次扫描程序代码,它会完美运行 如果我第二次运行它,我的应用程序崩溃,我在LogCat中出现“Out of memory”错误。
如何释放初始运行所使用的内存,以便应用程序在第二次运行时不会崩溃? 任何建议都将非常感谢

try
{
myString = new Scanner(new File(myFilePath)).useDelimiter("\\A").next();
} 
catch (FileNotFoundException e) 
{
e.printStackTrace();
}

额外的错误。信息:
代码的目的是将大(1.5MB)文本文件的全部内容加载到字符串中 LogCat中的确切错误消息是: 4194320字节分配的内存不足
代码在AsyncTask后台线程中运行 eclipse自动添加了try / catch。我不知道它的格式是否正确。
我尝试在第二次运行之前清空 myString 以释放内存,但这没有帮助 我已经尝试使用其他方法将文件加载到一个字符串中(包括经常推荐的apache Utils方法)并选择了这个方法,因为与我尝试过的其他方法相比,它的速度非常快。

0 个答案:

没有答案