コードをいじってみると、これら 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);
}
}