在我的 android 应用程序中,每次加载新游戏时,我都会从内部存储中读取文件。我这样做的前 4 次,它工作正常,但在第五次它强制关闭。这是我的代码
private String readFromInternalStorage(String filename) {
FileInputStream fis=null;
byte[] bytes = new byte[1000000];
try {
fis=startGame.openFileInput(filename);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
fis.read(bytes);
} catch (IOException e) {
e.printStackTrace();
}
return new String(bytes);
}
在弄乱代码时,我注意到如果我改变字节数组的长度,它会改变我在不强制关闭的情况下读取文件的次数。如果我将长度更改为 2000000,它会在第二次后关闭,如果我将其更改为 100000,它会在第八次后关闭。我对为什么会发生这种情况一无所知,因为每次调用该方法时我都会创建一个新的字节数组,所以我认为大小不会改变任何东西。
更新:
在返回并进行更多测试后,文件输入似乎与我的应用程序强制关闭的原因无关。当这段代码被注释掉时,应用程序将连续加载五个级别而不会强制关闭,所以我认为这是问题所在,但在八次尝试后它仍然强制关闭,所以很明显还有其他东西不起作用。还是要谢谢你的帮助。