개발자

react-native FlatList 너무 느림 현상

2023년 03월 21일조회 697

리액트 네이티브에서 Flatlist로 구현된 채팅 메세지가 너무 느립니다. 신기하게 안드로이드에서만 느리고 ios는 또 멀쩡하게 잘되더라구요. 짧은 메세지들은 잘되는데 메세지들이 조금만 길어지면 버벅거리는 현상이 심하더라고요. 혹시 원인을 알고 계신분 있나요? FlatList 구현자체는 몇몇개의 prop 더 해진거 말고는 공식문서 예시와 거의 동일합니다. - https://reactnative.dev/docs/flatlist

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

손정현님의 프로필 사진

안녕하세요! 혹시 안드로이드와 리액트 네이티브 버전이 어떻게 되시나요? FlatList prop 중에 inverted 옵션을 사용하고 계신가요? 저희도 최근에 유사한 이슈를 마주해서 열심히 찾아봤는데 inverted Flatlist를 사용하고 있으시면 이미 깃허브에 열심히 토론되고 있는 주제더라구요. 확인해보시면 좋을 것 같습니다. - https://github.com/facebook/react-native/issues/30034 글 좀만 내려보시면 patch-package로 react-native FlatList 쪽 스타일을 수정한 버전이 있습니다. 요거 적용하시면 어느정도 도움이 될 것 같아요 - https://github.com/facebook/react-native/issues/30034#issuecomment-806396274 inverted을 사용하지 않는데 안드로이드에서 FlatList 관련 성능 이슈가 있다면, 원인을 조금 더 파 봐야 알 것 같습니다. 좀 일반적인 방법이라면 공식 문서에 있는 FlatList 최적화 방법도 도움이 될 것 같고 Shopify에서 만든 FlashList도 참고해보시면 좋을 것 같습니다 :) - https://reactnative.dev/docs/optimizing-flatlist-configuration - https://shopify.github.io/flash-list/

profile picture

익명

작성자

2023년 03월 22일

inverted 옵션 사용하고 있습니다! 이런 논의가 있었군요.. 알려주셔서 감사합니다. 말씀해 주신 부분 적용해 볼게요!!

범진님의 프로필 사진

저도 이부분 때문에 안드로이드에서만 렉이 발생해서 찾아보니 textinput에 타이핑 시에 flatlist의 renderitem이 계속 호출되고 리랜더링 됩니다. 이거때매 성능저하가 일어나는 것 같은데 flashlist사용하니 이런 현상이 사라졌네요

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!