WorkManager 란?
WorkManager는 Jetpack과 함께 제공되는 Android 백그라운드 작업 관리 시스템입니다.
작업 관리자를 사용하여 지연 작업을 할수 있고, 백그라운드 작업을 연기할 수 있습니다.
WorkManager 특징
WorkManager는 앱이 종료되더라도 시스템이 지연된 작업을 실행하도록 보장합니다
WorkManager 이전에는 작업 스케줄러, 작업스케줄러 및 알람 매니저와 브로드캐스트 수신기를 사용하여 작업을 예약했었습니다. 하지만 이러한 방법들은 작업을 스케줄링하는 시간이 많이 소요되고 복잡했습니다. 또 많은 요구사항과 제약조건을 처리하기 위해 코드가 길어지기까지 했습니다
WorkManager는 여러가지를 지원하고 여러 이점을 가져다 줍니다
WorkManager는 작업을 실행할때 제약조건을 설정할 수 있고, 배터리 전원과 같은 시스템 리소스를 적게 사용합니다. 또한 다른 안드로이드 버전과의 호환성을 처리해주고 비동기 작업을 지원합니다.
WorkManager의 작업 요청
WorkManager는 두 가지 유형의 작업 요청을 통해 작업 관리자의 작업을 예약할 수 있습니다.
PeriodicWorkRequest
예를 들어 영업팀을 위한 앱이 있다고 가정해 봅니다.각 판매원은 제품의 현재 재고 수량을 확인해야 합니다. 때문에 앱은 메인 서버에서 정기적으로 업데이트 되어야 합니다이 경우 재고 내역을 반복적으로 업데이트 하는 것은 작업관리자와 함께 설정할수 있습니다.이 작업을 반복적으로 30분동안 실행한다고 가정해보면 이러한 작업 요청을 PeriodicWorkRequest 이라고 합니다
OneTimeWorkRequest
예를 들어 설문 조사 팀을 위한 앱이 만들어졌다고 가정해 봅니다.
각 구성원은 이미지를 포함한 새로운 검색 기록을 삽입하고 저장 버튼을 눌러 메인 웹 서버에 업로드할 합니다.
따라서 이 경우 서브 디테일을 업로드하는 것은 작업입니다.
작업 관리자의 지원을 통해 우리는 인터넷의 가용성과 기기의 배터리 충전 수준을 고려하여 대략적인 시간에 이 작업을 실행하도록 예약할 수 있다.
이러한 유형의 작업 요청을 OneTimeWorkRequest 이라고 합니다
'Android' 카테고리의 다른 글
UI 상태 저장을 하는 방법 (0) | 2021.05.27 |
---|---|
프로세스, 스레드, 코루틴 (0) | 2021.05.25 |
Fragment안에 있는 ViewPager2 (0) | 2021.05.11 |
Notification의 사용방법 (0) | 2021.05.06 |
Okhttp란? (0) | 2021.04.15 |