언제나 매번 redrawingBitmap없이 캔버스 안에 비트 맵을 옮기는 더 좋은 방법이 있습니까?안드로이드 라이브 벽지 - onOffsetsChanged
public void onOffsetsChanged(float xOffset, float yOffset, float xStep, float yStep, int xPixels, int yPixels) {
final SurfaceHolder holder = getSurfaceHolder();
Canvas c = null;
try {
c = holder.lockCanvas();
if (c != null) {
c.drawBitmap(this.ImageI, xPixels, 0, null);
c.drawBitmap(this.ImageII, xPixels, 0, paint);
}
} finally {
if (c != null) holder.unlockCanvasAndPost(c);
}
}
나는 이해한다. 고마워요! 당신이 생각하는 마녀는 onOffsetChanged를 호출하는 것이 더 좋을까요? drawFrame(); 또는 mHandler.postDelayed (mDrawWall, 30); ?? 나는 진짜로 framerate를 좋아하지 않는다. – Misca
@Misca onOffsetsChanged에서 그리기 호출을 할 필요가 없습니다 (Cube 예제의 drawFrame() 호출은 실제로 불필요합니다). 실행 파일의 다음 "예정된"호출은 공유 변수에서 변경 한 값을 사용하여 "자동으로"시작됩니다. 실행 파일의 본문에 원하는 프레임 속도를 설정합니다.이 프레임은 후속 호출을 자체적으로 예약합니다. –
그래,하지만 내 스레드에서 나는 10 초 스케줄을 사용한다. onOffsetChanged에서 30 밀리 (milis)를 예약해야합니까? – Misca