[flutter] 플러터에서 특정 시간 간격마다 작업 실행하기

플러터 앱에서 특정 시간 간격마다 주기적으로 작업을 실행해야 하는 경우가 있습니다. 예를 들어, 알람 애플리케이션에서 1분마다 알람을 업데이트하거나, 실시간 데이터를 주기적으로 가져와서 화면을 새로고침하는 경우 등이 있습니다.

Timer.periodic 사용하기

dart:async 라이브러리의 Timer.periodic 메서드를 사용하여 주기적인 작업을 실행할 수 있습니다. 이 메서드는 특정 시간 간격마다 콜백 함수를 호출하여 작업을 수행합니다.

예시 코드:

import 'dart:async';

void main() {
  const duration = const Duration(seconds: 1);
  Timer.periodic(duration, (Timer t) => print('작업 수행'));
}

위의 예시 코드에서 Timer.periodic 메서드를 사용하여 1초마다 “작업 수행”이라는 메시지가 출력되도록 설정되었습니다.

주의사항

Timer.periodic을 사용할 때에는, 앱의 생명주기에 주의해야 합니다. 예를 들어, 화면이 벗어난 상태에서도 작업이 계속 실행되는 것을 방지하기 위해, 해당 작업을 화면이 보이는 동안에만 실행되도록 컨트롤러를 설정할 필요가 있습니다.

이렇게 플러터에서 특정 시간 간격마다 주기적으로 작업을 실행하는 방법에 대해 알아보았습니다.

참고 자료