Open samsung-ga opened 2 years ago
타이머는 한 번에 하나의 런루프에만 등록할 수 있고, 해당 런 루프에서 여러 모드에 추가할 수 있다.
nonrepeating 타이머같은 경우 자동으로 invalidate되지만 repeating 타이머같은 경우 수동으로 invalidate 해주어야 한다.
현재 런루프에서 제거해주고 싶을 때 invalidate() 메소드를 부른다.
꼭 타이머가 설치된 쓰레드에서 해당 메소드를 호출해야한다.
repeating 타이머의 경우, 허용오차와는 상관없이 다음 발생하는 시각을 이전 시각을 고려하여 계산한다.
작동해야하는 타이머인데 호출하는데 걸리는 시간이 간격보다 길면 타이머는 해당 호출은 생략한다.
Timer
개요
런루프와 타이머
반복과 반복하지 않는 타이머
Timer Tolerance
Run Loop 내의 Timer 스케쥴링
타이머는 한 번에 하나의 런루프에만 등록할 수 있고, 해당 런 루프에서 여러 모드에 추가할 수 있다.
nonrepeating 타이머같은 경우 자동으로 invalidate되지만 repeating 타이머같은 경우 수동으로 invalidate 해주어야 한다.
현재 런루프에서 제거해주고 싶을 때 invalidate() 메소드를 부른다.
꼭 타이머가 설치된 쓰레드에서 해당 메소드를 호출해야한다.
repeating 타이머의 경우, 허용오차와는 상관없이 다음 발생하는 시각을 이전 시각을 고려하여 계산한다.
작동해야하는 타이머인데 호출하는데 걸리는 시간이 간격보다 길면 타이머는 해당 호출은 생략한다.
타이머는 subclass 하지마라!
Ref