WorkManager
WorkManager는 프로세스의 종료와 관계없이 반드시 수행할 수 있도록 해주는 Android JetPack의 일부이다.제약으로는 10분이내로 처리할 수 있도록 해주어야 한다. 하나의 WorkManager가 과도한 시스템 리소스 사용 방지 및 배터리 소모를 방지하기 위해서이다.
WorkManager 사용사례
1. 데이터 동기화
앱 데이터와 서버 데이터를 동기화를 위해서 사용할 수 있다. 나 같은 경우에는 서버와 앱 데이터를 동기화 시키기 위해서 N시간에 한번 식 데이터를 보낼 수 있도록 WorkManager를 사용했다. WorkManager 데이터 동기화 시 주의해야 할 점은 앱이 재시작 또는 휴대폰이 재부팅을 하더라도 반드시 수행하기 때문에 문제가 생길 수 있다. 글쓴이의 경우 반드시 수행된다는 사실을 몰라서 데이터 동기화를 수행하는 WorkManager 대신 AlarmManager로 리팩토링 후 앱을 실행했었는데 데이터 동기화 시도가 많이 나와서 골머리를 앓은 적이 있다.
2. 백그라운드에서 패치 또는 업데이트 적용
앱을 사용자 상호작용 없이 패치 또는 업데이트를 적용할 수 있다. 앱이 백그라운드 또는 휴대폰이 재시작되더라도 패치 또는 업데이트를 적용할 수 있다.
Koin
Koin은 Kotlin 개발자들이 쉽게 DI를 할 수 있도록 만들어진 프레임워크이다. Koin은 학습 곡선이 낮아서 쉽게 배울 수 있다. 또한, 싱글톤, 팩토리 및 세션 범위를 포함해서 다양하게 지원해 종속성의 유연한 수명주기 관리가 가능하다.
Koin과 WorkManager를 함께 활용하는 방법 및 활용 시 발생하는 문제점은 아래 블로그를 참고하면 된다.
'안드로이드 > 잡다한 지식' 카테고리의 다른 글
[안드로이드] 왜 string resource로 관리하나요? (0) | 2024.05.27 |
---|---|
[안드로이드] 휴대폰 원격 공유를 개발하면서 생겼던 고민들 정리 (0) | 2024.05.07 |
JetPack Compose에서 Compose 멀티 플렛폼으로 전환 (0) | 2024.04.29 |
[안드로이드] Rxjava + retrofit2 연결 도중 취소하기 (0) | 2023.12.26 |
[안드로이드] 원격 터치 기능 정리 (0) | 2023.11.06 |