0

如果我运行下面的扫描仪代码一次,它运行完美。
如果我再次运行它,我的应用程序会崩溃,并且 LogCat 中会出现“内存不足”错误。
如何释放初始运行使用的内存,以便应用程序不会在第二次运行时崩溃?
我们欢迎所有的建议

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

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

4

0 回答 0