目前我正在使用递归的invalidate()调用,而且我不知道此代码是否会在每部手机中以固定费率运行 。您可以在下面看到我的代码。 Handler是一个更好,更可靠的方法吗?如何确保每个手机都能修复查看更新速度?
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(action){
checkCollisionDetection();
rotateAngle = rotateReverse ? rotateAngle - levelRotateSpeeds[level-1] : rotateAngle + levelRotateSpeeds[level-1];
canvas.rotate(rotateAngle,CoordinateUtils.centerX,CoordinateUtils.centerY);
invalidate(); //this is the recursive approach
}else
canvas.rotate(rotateAngle,CoordinateUtils.centerX,CoordinateUtils.centerY);
canvas.drawRoundRect(rect,markerRoundSize,markerRoundSize,paint);
}