Simple&Natural

Android 의 최신 Background 처리 방법 간단 정리 본문

안드로이드(Android)/학습자료

Android 의 최신 Background 처리 방법 간단 정리

Essense 2020. 8. 24. 18:17
728x90

과거에 채팅앱을 만들어보며 백그라운드 작업에 대해 상당히 많은 고민을 했었는데 

안드로이드에서 처리할 수 있는 백그라운드 작업방법에 대해 잘 정리해 놓은 글을 발견해서 읽어보았다.

결론은 Jetpack에 새로 도입된 WorkManager를 소개하는 글이다.

 

채팅앱을 만들 당시 필요했던 작업은 24시간 소켓을 유지하여 각종 메시지 등을 처리하는 부분이었는데

사실 이 작업을 위해서는 백그라운드 서비스를 죽지않게 계속 돌려야 하는 문제점이 있었다.

하지만 이는 안드로이드 자체에서 별로 권장하지 않는 방법이었고 그렇다고 foreground service에 소켓을 유지시킬 수도 없는 노릇이었기에 이 방법은 포기했던 기억이 난다.

 

결국 소켓은 앱이 foreground 상태일 때만 유지시키고 background로 진입한 후엔 fcm을 이용하는 것으로 구현했었는데

fcm이 정확하고 신속한 알람을 보장하는 것은 아니라 이 또한 문제가 있었다.

그래서 카톡의 경우 자체 푸쉬를 이용한다고 얼핏 본 기억이 나는 듯 하다.

 

WorkManager를 포함하여 여기서 소개하는 방법들의 경우 내가 고민했던 문제의 해결방법은 아닌 것 같지만

앱이 유휴상태일 때 주기적으로 실행해야 하는 작업이나 특정 타이밍에 정확하게 실행되어야 하는 작업에

있어서는 효율적인 대안으로 보인다.

 

 

 

 

 

 

 

참고자료)

https://medium.com/@limgyumin/%EC%83%88%EB%A1%9C%EC%9A%B4-%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EB%B0%B1%EA%B7%B8%EB%9D%BC%EC%9A%B4%EB%93%9C-%EC%9E%91%EC%97%85-%EC%B2%98%EB%A6%AC%EB%B2%95-workmanager-f625e07b384c

 

새로운 안드로이드 백그라운드 작업 처리법 : WorkManager

안드로이드에는 백그라운드 작업을 처리하는 많은 방법들이 존재 합니다.

medium.com

 

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