[flutter] 플러터 get과 애니메이션 최적화

플러터 앱을 개발하다 보면 상태를 갖고 있는 위젯이 변경될 때마다 UI가 다시 그려지게 됩니다. 이 과정에서 불필요한 상태 변경이 발생할 수 있으며, 그러한 상태 변화로 인해 애니메이션 성능이 저하되는 문제가 발생할 수 있습니다. 이번 글에서는 플러터의 get 메소드와 애니메이션 최적화에 대해 알아보겠습니다.

1. get 메소드

get 메소드는 플러터에서 상태를 갱신할 때 사용됩니다. 이 메소드는 화면을 다시 그리게 만들어주는 역할을 합니다. 하지만, 상태 변경이 없는 경우에도 매번 화면을 다시 그리게 되면 성능 저하가 발생할 수 있습니다.

2. 애니메이션 최적화

애니메이션이 자연스럽게 동작하려면 빠른 화면 갱신이 필요합니다. 이를 위해 다음과 같은 방법을 활용할 수 있습니다.

사용법 1: const 키워드 사용

Widget build(BuildContext context) {
  return const Text('Hello, world!');
}

const 키워드를 사용하면 해당 위젯은 불필요한 화면 갱신을 하지 않도록 최적화됩니다.

사용법 2: AnimatedBuilder 사용

AnimatedBuilder(
  animation: _controller,
  builder: (BuildContext context, Widget child) {
    return Transform.rotate(
      angle: _controller.value * 2.0 * math.pi,
      child: child,
    );
  },
  child: const FlutterLogo(size: 200.0),
)

AnimatedBuilder를 사용하면 애니메이션이 필요한 부분만 업데이트되고, 나머지 부분은 그대로 유지됩니다.

결론

플러터 앱을 개발할 때는 get 메소드와 애니메이션을 최적화하여 성능 향상을 도모해야 합니다. const 키워드와 AnimatedBuilder를 적절히 활용하면 성능 저하 문제를 해결할 수 있습니다.

참고문헌: