diff --git a/app/lib/views/members/members_view.dart b/app/lib/views/members/members_view.dart index 032f9fb..4ac9ac1 100644 --- a/app/lib/views/members/members_view.dart +++ b/app/lib/views/members/members_view.dart @@ -208,15 +208,20 @@ class _MembersViewState extends ConsumerState with TickerProviderSt itemBuilder: (context, index) { return AnimatedBuilder( animation: _pageController, + // child를 캐싱하여 매 프레임 rebuild 방지 + // RepaintBoundary로 리페인트 범위 제한 + child: RepaintBoundary( + child: _buildMemberCard(membersState.members[index], controller), + ), builder: (context, child) { double value = 1.0; if (_pageController.position.haveDimensions) { value = (_pageController.page! - index).abs(); - value = (1 - (value * 0.15)).clamp(0.0, 1.0); + value = (1 - (value * 0.25)).clamp(0.0, 1.0); } return Transform.scale( scale: Curves.easeOut.transform(value), - child: _buildMemberCard(membersState.members[index], controller), + child: child, ); }, );