[Flutter] map방식은 for loop보다 느릴 수 있다

SEUNGJUN JEONG·2022년 9월 27일
0

APP

목록 보기
1/1

문제 상황

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

profile
Microsoft Learn Student Ambassadors

0개의 댓글