collect와 collectLatest
296
작성한 질문수 29
collect와 collectLatest의 차이를 공부해보았는데 각각의 장단점이 있는 것 같습니다.
collect의 경우 중간에 데이터가 어떤 이유로 데이터를 처리하는데 시간이 오래 걸린다면 그 이후에 데이터를 받을 수 없다는 단점이 있고
collectLatest의 경우 이전 데이터 처리가 끝나지 않더라도 새로운 데이터가 들어오면 데이터를 새로 받아서 그런일은 없지만 그렇게 된다면 마지막 데이터만 들어오고 중간 데이터를 받을 수 없다는 단점이 있는 것 같습니다.
그렇다면 실무에서는 어떤 함수를 쓰는 것을 선호하는지 궁금합니다.
답변 2
1
collect와 collectLatest는 제대로 이해하신 것이 맞습니다. 어느쪽이 우월한 것이 아니라 기능이 다른 것이므로 사용목적에 맞게 분류하여 사용하시면 됩니다.
예를 들어 구글의 sunflower 프로젝트의 경우 PlantListViewModel 클래스에서 savestate에 저장해야 하는 값은 collect로 수집하고, GalleryFragment 클래스에서 이미지를 표시하는 부분은 collectLatest로 수집하는 것을 보실 수 있습니다.
잘 만들어진 다른 오픈소스 프로젝트에서 어떤 식으로 사용하는지를 더 참고해 보시면 좋을 것 같습니다.
Coroutine, Flow 질문
0
401
1
Transformations import 안됨
0
588
1
moshi관련 질문입니다.
0
566
2
searchBooks() 에서 북 검색 입력을 너무 빨리 할 경우 마지막 글자로 검색이 안돼요.
0
375
1
안드로이드에서 아키텍처 패턴
0
423
1
RecyclerView.Adapter vs ListAdpater
0
473
1
Flows 와 Coroutine
1
573
1
[BookSearchAdapter] onBindViewHolder의 currentList[position] 질문
0
370
1
코루틴 메모리 관련해서 질문드립니다!
0
456
1
Java Bill Pugh Solution 에서 INSTANCE
0
469
1
nested json에서 특정 부분만 파싱하는법
0
495
1
Fragment에서의 viewBinding
0
525
3
toolbar 질문드립니다.
0
417
2
EditText 에서 delay 주셔서 처리하셨는데 flow 의 debounce() 하고 같은건가요?
2
568
1
코루틴 관련 질문
0
549
1
오류
1
494
2
강사님! 직렬화 라이브러리를 Moshi, kotlin serialization 두개를 사용하시던데 이유가 있으신가요?
1
749
1
EditText 는 kill 해도 값이 잘 저장되어있던데 혹시 제가 잘못테스트했을까요?
1
354
1
서버도 페이징 기능이 되는데 Paging 라이브러리가 필요할까요?
1
530
1
GSON 이 아닌 Moshi 를 사용하시는 이유가 있을까요?
1
1271
1
EditText 는 액티비티가 재생성되어도 값이 남아있던데 이유가 궁금해요
1
498
1
ViewModel 생성시 왜 초기값을 받지 않도록 했을까요?
1
438
1
Room DB에 id 항목 추가
0
255
1
안녕하세요. 용어에 대해 질문이 있어 글 남깁니다.
0
410
2





