运行时间太长。如何缩短此功能的运行时间?

时间:2016-09-02 23:13:38

标签: java android android-studio memory-leaks

我们正在设计一个.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

1 个答案:

答案 0 :(得分:0)

事实证明,Android Studio正在与Strings and Scanners斗争。所以我只是改变了代码,在可能的地方使用StringBuilder并且只使用了bufferedReader并使其正常工作