0

我正在为我自己的动态壁纸编写代码。墙纸(除其他外)具有连续旋转的背景位图。位图很大 (768x768px)。我所做的每次屏幕刷新:

canvas.drawColor(Color.WHITE);
Matrix matrix = new Matrix();
matrix.setRotate(degrees, background.getWidth() / 2, background.getHeight() / 2);
canvas.drawBitmap(background, matrix, paint);

壁纸将以 12-18 FPS 的速度运行。这太重了吗?有没有更好的方法来做到这一点?先感谢您。

4

1 回答 1

1

您可以尝试使用Animation

对于示例示例,

RotateAnimation animationRotator = new RotateAnimation(0f, 360f, 10f, 10f);
animationRotator.setInterpolator(new LinearInterpolator());
animationRotator.setRepeatCount(Animation.INFINITE); // For Infinite Rotation
animationRotator.setDuration(1000); // Duration in which one rotation should get over

yourView.startAnimation(animationRotator);
于 2012-07-03T09:54:56.520 回答