内存溢出问题!
一个读取文件的方法:
Android:
public String readFile(String fileName) throws Exception{
ByteArrayOutputStream outStream=new ByteArrayOutputStream();
FileInputStream fis=context.openFileInput(fileName);
byte [] buffer=new byte[1024];
int length=fis.read(buffer);//1
while(length != -1){//2
outStream.write(buffer,0,lengt)
}
byte[] b= outStream.toByteArray();
String s=new String(b);
return s;
}
如上所示了:注释1和2处
这样写为什么会出现java.lang.OutOfMemoryError
是内存溢出吧!
我修改1,2处:如下:3,4
public String readFile(String fileName) throws Exception{
ByteArrayOutputStream outStream=new ByteArrayOutputStream();
FileInputStream fis=context.openFileInput(fileName);
byte [] buffer=new byte[1024];
int length=0;//3
while((length = fis.read(buffer)) != -1){//4
outStream.write(buffer,0,lengt)
}
byte[] b= outStream.toByteArray();
String s=new String(b);
return s;
}
这样就没有问题了。真心求解释!
Android:
public String readFile(String fileName) throws Exception{
ByteArrayOutputStream outStream=new ByteArrayOutputStream();
FileInputStream fis=context.openFileInput(fileName);
byte [] buffer=new byte[1024];
int length=fis.read(buffer);//1
while(length != -1){//2
outStream.write(buffer,0,lengt)
}
byte[] b= outStream.toByteArray();
String s=new String(b);
return s;
}
如上所示了:注释1和2处
这样写为什么会出现java.lang.OutOfMemoryError
是内存溢出吧!
我修改1,2处:如下:3,4
public String readFile(String fileName) throws Exception{
ByteArrayOutputStream outStream=new ByteArrayOutputStream();
FileInputStream fis=context.openFileInput(fileName);
byte [] buffer=new byte[1024];
int length=0;//3
while((length = fis.read(buffer)) != -1){//4
outStream.write(buffer,0,lengt)
}
byte[] b= outStream.toByteArray();
String s=new String(b);
return s;
}
这样就没有问题了。真心求解释!
...全文
相关推荐
完美解决java读取大文件内存溢出的问题
完美解决java读取大文件内存溢出的问题在Java中读取大文件时,内存溢出是一个常见的问题。传统方式的读取文件方式会将整个文件读取到内存中,导致程序抛出OutOfMemoryError异常。
内存溢出和内存泄漏的详解及区别
内存溢出和内存泄漏是两种常见的内存相关问题,它们之间存在一定的联系,但它们又有着很大的区别。
Android 异步获取网络图片并处理导致内存溢出问题解决方法
这样可以有效地减小加载到内存中的图片大小,降低内存占用,从而避免内存溢出。总结来说,解决Android异步获取网络图片并处理时的内存溢出问题,主要策略包括:1.
android 解决ViewPager加载大量图片内存溢出问题
然而,当ViewPager中加载大量图片时,如果不进行优化,很容易导致内存溢出(Out of Memory,OOM)的问题。
bitmap内存问题
然而,在处理大量或高分辨率图像时,不当的`Bitmap`管理常常会导致内存溢出问题,这严重影响了应用程序的性能和用户体验。


