我们正在设计一个.ppm图像编辑器应用程序,但我的加载功能一直出现错误,它只是释放内存很长一段时间。它最终完成但需要几分钟。我已经包含了该功能的代码和来自Android Monitor的消息。
private int height;
private int width;
private static int maxColorValue = 255;
private static Pixel image[][];
public void load(BufferedReader bufferedReader)
{
Scanner fin = new Scanner(bufferedReader);
//fin = new Scanner(new File(inFile));
fin.useDelimiter("(\\s+)(#[^\\n]*\\n)?(\\s*)|(#[^\\n]*\\n)(\\s*)");
// skips the P3 at the begging of ppm file
fin.next();
// get width and height
width = fin.nextInt();
height = fin.nextInt();
// get max color value (255)
maxColorValue = fin.nextInt();
image = new Pixel[height][width];
for (int i = 0; i < height; i++)
{
for (int j = 0; j < width; j++)
{
int red = fin.nextInt();
int green = fin.nextInt();
int blue = fin.nextInt();
Pixel newPix = new Pixel(red, green, blue);
image[i][j] = newPix;
//image[i][j].red = red;
//image[i][j].green = green;
//image[i][j].blue = blue;
}
}
fin.close();
}
以下是错误消息,只能无限期重复。</ p>
09-02 17:07:11.276 28598-28602/edu.byu.cs.imageeditor D/dalvikvm: GC_CONCURRENT freed 653K, 17% free 4721K/5668K, paused 2ms+1ms, total 28ms
答案 0 :(得分:0)
事实证明,Android Studio正在与Strings and Scanners斗争。所以我只是改变了代码,在可能的地方使用StringBuilder并且只使用了bufferedReader并使其正常工作