如果我在下面运行一次扫描程序代码,它会完美运行
如果我第二次运行它,我的应用程序崩溃,我在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方法)并选择了这个方法,因为与我尝试过的其他方法相比,它的速度非常快。