subjectList
.map((e) => Text(
e,
style: const TextStyle(
fontSize: 17,
fontWeight: FontWeight.bold),
)).toList()
종합 스터디 앱 프로젝트 개발 초기 스터디의 목록을 출력하는 방식이다. 과목명이 담겨있는 리스트에서 map 방식으로 차례대로 출력하는 방식인데 일부 상황에서 한번에 출력되지 않고 빈 화면으로 나오는 버그가 있었다.
for (var item in subjectList)
Text(item,
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 17
),
)
for loop을 사용하니 퍼포먼스가 향상되었고 버그 또한 해결 완료!
List를 mapping 할 때는 원래 list의 모든 값을 복사하게 된다.
반면 for loop에서는 값을 복사하지 않고 값을 index로 접근하게 된다!
이런 점에서 속도에 차이가 있는 것
출처: stackoverflow
https://stackoverflow.com/questions/71012581/why-is-map-slower-then-while-for-loop-in-dartflutter