2016-09-02 5 views
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 
+0

なぜ 'image'は静的なのですか? – EJP

+0

私はすべてを試していただけで、試してみると思いました。それは何も変わらなかった。 –

+0

Android Studioは文字列とスキャナで苦労していることが判明しました。そこで、私はStringBuilderを使用するようにコードを変更しました。ちょうどbufferedReaderを使用し、それを動作させました。 –

答えて

0

Androidスタジオは文字列とスキャナで苦労していることが判明しました。だから私はStringBuilderを使用するようにコードを変更し、bufferedReaderを使用して正常に動作させることができました。

関連する問題