학부생나부랭이
270
2021-01-01 19:35:42 작성 2021-01-01 19:49:30 수정됨
2
115

안드로이드에서 비동기적으로 코드를 짜야할때는 언제가 있나요??


서버통신이야 당연히 비동기적으로 짜야하고 많이쓰는 retrofit2 자체가 비동기로 알아서 구현해주니 크게 상관없었지만..


서버통신 외에도 보통 rxjava나 혹은 coroutine등을 사용하는 경우는 언제가 있을까요???


공부해보려 하는데 어떤작업을 비동기로 짜야하는지를 모르겠네요..

0
  • 답변 2

  • devcrema
    1k
    2021-01-02 12:36:10

    databinding, 내장 DB(sqlite), 파일 처리 등등에 많이 사용합니다.

    databinding은 기본 라이브러리가 있긴하지만 없을때에는 view와 viewModel을 rxjava로 binding해서 viewModel의 data가 바뀌면 view에 notify되어서 즉시 적용되도록 만들기도 했고 네트워크와 마찬가지로 db나 파일처리는 오래걸리기 때문에 반드시 별도의 쓰레드에서 처리해야합니다.

    rxjava를 쓰면 별도의 쓰레드에서 처리할때에 콜백이 너무 많이 중첩되는것을 방지할 수 있구요.

    그외에는 타이머같은 용도로도 사용하기도 합니다.

  • 학부생나부랭이
    270
    2021-01-02 20:57:25

    아 내부 db를 사용할떄도 비동기적으로 사용하나보네요! 감사합니다!

  • 로그인을 하시면 답변 을 등록할 수 있습니다.