아하
  • 토픽

  • 스파링

  • 잉크

  • 미션


태평한고래14

태평한고래14

정확한 타이머 구현방법좀 문의드립니다

TimerTask 를 이용해서 전자농구점수판?같은 어플을 만드려고하는데요

10ms를 주기로 타이머 구현을 했습니다.

구현은 했는데 시간이 정확하지 않고 1분에 5~10초정도 느리더라구요.

주기를 100ms, 1s로 하면 오차가 조금 줄어들긴한데...

해결방법이 없을까요?

    1개의 답변이 있어요!

    • 나른한풍뎅이48

      나른한풍뎅이48

      누적하는 동안에 몇가지 처리등을 하면서 시간이 조금씩 더해서 오차가 커져서 시간이 안맞게 되는 것입니다.
      주기를 크게하면 오차 누적 횟수가 줄어서 대충 맞는것 처럼 보이지만 결국 오차는 계속 커지면서 안맞게 될겁니다.

      TimerTask 로 일정 간격으로 시간을 누적하지 말고
      처음 시작 시간을 저장했다가
      일정간격으로 현재시간을 얻어서 처음시간에서 차이를 계산해서 사용하세요.