Timer 객체가 지정된 시간에 작업을 한 번만 수행하는 문제
998 단어 오류 레코드
class Task extends TimerTask {
@Override
public void run() {
Log.d("com.xxx.xxx.service", "timertask -------- running!");
Packet packet = new Packet();
packet.pack("WVM|1\r
");
send(packet);
}
}
task 실행 섹션은 다음과 같습니다.
timer = new Timer(true);
timer.schedule(new Task(), 30000);
내 본뜻은task가 30000밀리초마다 한 번씩 운행하도록 하는 것이지만, API를 자세히 살펴보니, 이 방법은 몇 밀리초가 지연된 후에 이task를 실행하는 것을 의미한다.
schedule(TimerTask task, long delay)의 설명: Schedules the specified task for execution after the specified delay.
나중에 나는 다음과 같이 바꾸었다.
timer = new Timer(true);
timer.schedule(new Task(), 5000, 30000);
운행이 정상입니다.schedule(TimerTask task, long delay, long period)