[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
를 적절히 활용하면 성능 저하 문제를 해결할 수 있습니다.
참고문헌: