Simple&Natural
Android 의 최신 Background 처리 방법 간단 정리 본문
728x90
과거에 채팅앱을 만들어보며 백그라운드 작업에 대해 상당히 많은 고민을 했었는데
안드로이드에서 처리할 수 있는 백그라운드 작업방법에 대해 잘 정리해 놓은 글을 발견해서 읽어보았다.
결론은 Jetpack에 새로 도입된 WorkManager를 소개하는 글이다.
채팅앱을 만들 당시 필요했던 작업은 24시간 소켓을 유지하여 각종 메시지 등을 처리하는 부분이었는데
사실 이 작업을 위해서는 백그라운드 서비스를 죽지않게 계속 돌려야 하는 문제점이 있었다.
하지만 이는 안드로이드 자체에서 별로 권장하지 않는 방법이었고 그렇다고 foreground service에 소켓을 유지시킬 수도 없는 노릇이었기에 이 방법은 포기했던 기억이 난다.
결국 소켓은 앱이 foreground 상태일 때만 유지시키고 background로 진입한 후엔 fcm을 이용하는 것으로 구현했었는데
fcm이 정확하고 신속한 알람을 보장하는 것은 아니라 이 또한 문제가 있었다.
그래서 카톡의 경우 자체 푸쉬를 이용한다고 얼핏 본 기억이 나는 듯 하다.
WorkManager를 포함하여 여기서 소개하는 방법들의 경우 내가 고민했던 문제의 해결방법은 아닌 것 같지만
앱이 유휴상태일 때 주기적으로 실행해야 하는 작업이나 특정 타이밍에 정확하게 실행되어야 하는 작업에
있어서는 효율적인 대안으로 보인다.
참고자료)
728x90
'안드로이드(Android) > 학습자료' 카테고리의 다른 글
Serialize와 Parcelize (0) | 2020.10.07 |
---|---|
안드로이드 BottomNavigation Design Guide (0) | 2020.09.27 |
해상도별 DP (0) | 2020.09.23 |
Room 사용에 대한 7가지 Tip (0) | 2020.09.22 |
안드로이드 Color 색상표 (0) | 2020.03.28 |