WinGyu_coder

Flutter, 플러터 ListView, separated 와 builder 차이점 본문

Flutter 플러터, Dart 다트

Flutter, 플러터 ListView, separated 와 builder 차이점

WinGyu 2023. 11. 19. 17:13

ListView.separatedListView.builder는 Flutter에서 리스트를 구성할 때 사용하는 두 가지 주요 위젯입니다. 이들의 주요 차이점은 다음과 같습니다:

  1. 아이템 분리자 (Separator):

    • ListView.separated: 이 위젯은 리스트의 각 아이템 사이에 분리자를 넣는 기능을 제공합니다. 이 분리자는 separatorBuilder 함수를 통해 정의되며, 각 아이템 사이에 원하는 위젯을 삽입할 수 있습니다. 예를 들어, 리스트 아이템 사이에 공간을 두거나 구분선을 추가하는 등의 작업이 가능합니다.
    • ListView.builder: 이 위젯은 분리자를 지원하지 않습니다. 단순히 연속적인 아이템들을 리스트 형태로 표시할 수 있지만, 각 아이템 사이에 추가적인 공간이나 구분선을 자동으로 넣는 기능은 없습니다.
  2. 사용 사례:

    • ListView.separated는 아이템 사이에 시각적 구분이 필요한 경우에 적합합니다. 예를 들어, 각 리스트 아이템을 시각적으로 구분하기 위해 선이나 여백을 넣고 싶을 때 유용합니다.
    • ListView.builder는 연속된 아이템들을 빠르고 효율적으로 표시할 때 사용됩니다. 분리자가 필요하지 않은 단순 목록을 표시하는 경우에 적합합니다.
  3. 성능:

    • 두 위젯 모두 "lazy loading" 방식을 사용합니다. 즉, 화면에 보이는 아이템들만 메모리에 로드하고 렌더링합니다. 이는 대규모 목록을 표시할 때 메모리 사용을 최적화하는 데 도움이 됩니다.

결론적으로, 두 위젯은 목적에 따라 선택하여 사용할 수 있으며, 특히 리스트 아이템 사이에 특별한 구분이 필요한 경우 ListView.separated를 사용하는 것이 좋습니다. 반면, 단순한 목록을 표시하는 경우 ListView.builder가 더 적합할 수 있습니다.