비비디바비비부
프로그래밍저장소
비비디바비비부
전체 방문자
오늘
어제
  • 프로그래밍 (72)
    • 안드로이드 (5)
      • 잡다한 지식 (40)
      • Compose (2)
      • Design (3)
      • Project (6)
    • 리액트 (4)
      • 프로젝트 (1)
      • 잡다한 지식 (1)
    • 알고리즘 (3)
      • 알고리즘 문제 (3)
    • AI (4)
      • 딥러닝 (4)
    • CS (2)
    • 잡동사니 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
비비디바비비부

프로그래밍저장소

안드로이드/잡다한 지식

[안드로이드] WorkManager와 Koin

2024. 5. 16. 15:30

WorkManager

WorkManager는 프로세스의 종료와 관계없이 반드시 수행할 수 있도록 해주는 Android JetPack의 일부이다.제약으로는 10분이내로 처리할 수 있도록 해주어야 한다. 하나의 WorkManager가 과도한 시스템 리소스 사용 방지 및 배터리 소모를 방지하기 위해서이다.

 

WorkManager 사용사례

1. 데이터 동기화

앱 데이터와 서버 데이터를 동기화를 위해서 사용할 수 있다. 나 같은 경우에는 서버와 앱 데이터를 동기화 시키기 위해서 N시간에 한번 식 데이터를 보낼 수 있도록 WorkManager를 사용했다. WorkManager 데이터 동기화 시 주의해야 할 점은 앱이 재시작 또는 휴대폰이 재부팅을 하더라도 반드시 수행하기 때문에 문제가 생길 수 있다. 글쓴이의 경우 반드시 수행된다는 사실을 몰라서 데이터 동기화를 수행하는 WorkManager 대신 AlarmManager로 리팩토링 후 앱을 실행했었는데 데이터 동기화 시도가 많이 나와서 골머리를 앓은 적이 있다.

 

2. 백그라운드에서 패치 또는 업데이트 적용

앱을 사용자 상호작용 없이 패치 또는 업데이트를 적용할 수 있다. 앱이 백그라운드 또는 휴대폰이 재시작되더라도 패치 또는 업데이트를 적용할 수 있다.

 

 

Koin

Koin은 Kotlin 개발자들이 쉽게 DI를 할 수 있도록 만들어진 프레임워크이다. Koin은 학습 곡선이 낮아서 쉽게 배울 수 있다. 또한, 싱글톤, 팩토리 및 세션 범위를 포함해서 다양하게 지원해 종속성의 유연한 수명주기 관리가 가능하다.

 

Koin과 WorkManager를 함께 활용하는 방법 및 활용 시 발생하는 문제점은 아래 블로그를 참고하면 된다.

 

Putting Koin To Work in Android

Walk-through of how to use WorkerManager with Koin.

blog.stackademic.com

 

 

저작자표시 비영리 변경금지 (새창열림)

'안드로이드 > 잡다한 지식' 카테고리의 다른 글

[안드로이드] 왜 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
    '안드로이드/잡다한 지식' 카테고리의 다른 글
    • [안드로이드] 왜 string resource로 관리하나요?
    • [안드로이드] 휴대폰 원격 공유를 개발하면서 생겼던 고민들 정리
    • JetPack Compose에서 Compose 멀티 플렛폼으로 전환
    • [안드로이드] Rxjava + retrofit2 연결 도중 취소하기
    비비디바비비부
    비비디바비비부
    안드로이드 기술 블로그, 코딩 공부, 프로그래머

    티스토리툴바