1

コードをいじってみると、これら 2 つのコード ブロックの速度が異なるように見えることがわかりました。if ステートメントがどのように異なるかに注意してください。私のエミュレータではどちらも問題なくコンパイルできますが、コードの 2 番目のブロックはわずかに遅れます。誰かが理由を知っていますか?(私は 2 ブロック目の構造体をほとんど使用しません)

    Bitmap temp;//td.getPlayClicked(), getPlayUnclicked(),etc. returns a different Bitmap
    Canvas canvas;//this runs fine, it is instantiated in my thread class, I'm just showing what type each object is.

    for(int alg=0;alg<td.getBitmaps();alg++){
       if(temp.equals(td.getPlayClicked())||temp.equals(td.getPlayUnclicked())){
           canvas.drawBitmap(drawing.get(alg),this.getWidth()/2-td.getPlayClicked().getWidth()/2, this.getHeight()*2/3, null);
           }
       }

対:

   for(int alg=0;alg<td.getBitmaps();alg++){
       if(drawing.get(alg).equals(td.getClicked()?td.getPlayClicked():td.getPlayUnclicked())){
           canvas.drawBitmap(drawing.get(alg),this.getWidth()/2-td.getPlayClicked().getWidth()/2, this.getHeight()*2/3, null);
           }
    }
4

0 に答える 0