0
私たちは.ppm画像エディタアプリケーションを設計していますが、私は非常に長い時間メモリを解放するところの私のロード機能でエラーが発生し続けています。それは最終的に終了するが、それは数分かかる。私は関数のコードとAndroidモニターからのメッセージを含めました。実行時間が長すぎます。どのようにこの機能の実行時間を短縮するには?
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();
}
以下は、エラーメッセージです。これは無限に繰り返されます。
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
なぜ 'image'は静的なのですか? – EJP
私はすべてを試していただけで、試してみると思いました。それは何も変わらなかった。 –
Android Studioは文字列とスキャナで苦労していることが判明しました。そこで、私はStringBuilderを使用するようにコードを変更しました。ちょうどbufferedReaderを使用し、それを動作させました。 –