12주 완성 AI 온디바이스 앱 실전 커리큘럼으로 돌아가기
Mobile & System•10 / 12주차
10주차 마일스톤약 8시간 소요난이도: 중급
백그라운드 비동기 추론 & WorkManager 배터리 최적화
안드로이드 백그라운드 실행 제한, WorkManager 기반 충전 중 배치 인퍼런스 및 배터리 절전 아키텍처
#WorkManager#BackgroundTasks#BatteryOptimization#DozeMode
이번 주 핵심 학습 목표
- 1Android Doze 모드와 App Standby 버킷이 백그라운드 작업에 미치는 영향을 파악한다.
- 2WorkManager의 제약조건(Constraints - 배터리 충전 중, 기기 유휴 상태)을 설정한다.
- 3대용량 사진 자동 분류 등 고부하 AI 작업을 야간 충전 시 백그라운드로 안전하게 스케줄링한다.
실전 학습 가이드 & 코드 워크스루
1. 안드로이드 백그라운드 정책과 AI의 충돌
AI 모델 추론은 CPU/GPU를 100% 점유할 수 있으므로, 사용자가 앱을 닫은 상태에서 무분별하게 실행되면 배터리 광탈 경고와 함께 OS에 의해 강제 종료(Kill)됩니다.
따라서 다음과 같은 상황에서만 배치 인퍼런스를 허용해야 합니다:
- 기기가 충전기에 연결되어 있는가? (
setRequiresCharging(true)) - 사용자가 기기를 조작하지 않는 유휴 상태인가? (
setRequiresDeviceIdle(true)) - 배터리 잔량이 위험 수준이 아닌가? (
setRequiresBatteryNotLow(true))
2. CoroutineWorker 실전 구현
kotlin
class GalleryAiTaggingWorker(
appContext: Context,
params: WorkerParameters
) : CoroutineWorker(appContext, params) {
override suspend fun doWork(): Result = withContext(Dispatchers.Default) {
try {
val unclassifiedPhotos = fetchUnclassifiedPhotos()
for (photo in unclassifiedPhotos) {
if (isStopped) return@withContext Result.retry()
classifyPhoto(photo)
}
Result.success()
} catch (e: Exception) {
Result.retry()
}
}
}📂 이번 주차 학습 자료 & 실습 파일 다운로드
2개 파일 제공강의 교안 PDF, 실습 스타터 코드, 치트시트 등 학습에 필요한 자료를 별도로 열람하거나 다운로드하여 학습하세요.
10주차_핵심요약_치트시트.pdf
PDF•1.8 MB
10주차 핵심 이론 및 아키텍처 다이어그램 치트시트
10주차_실전_스타터코드.zip
ZIP•3.4 MB
Android Studio 프로젝트 템플릿 및 실습 코드 예제
실전 체크리스트 & 셀프 점검
0 / 4 완료직접 코드를 구현하고 테스트를 완료할 때마다 체크해 보세요. 브라우저에 자동 보관됩니다.
WorkManager Kotlin CoroutineWorker 상속 및 doWork() 구현
Constraints.Builder()로 setRequiresCharging(true) 제약조건 추가
OneTimeWorkRequestBuilder 및 PeriodicWorkRequest 등록
WorkInfo 상태 관찰(Observer)을 통한 UI 진행률 동기화
ADVERTISEMENTfirststep.kr ad
1st
firststep.kr 12주 완성 실전 커리어 로드맵
파이썬, 소프트웨어설계, DB, 데이터과학, 딥러닝, LLM 9종 코스 100% 무료
공식 문서 & 추천 자료
12주 완성 AI 온디바이스 앱 실전 커리큘럼
[1주차] 코틀린(Kotlin) 핵심 언어 체계 & 안드로이드 런타임 이해[2주차] Jetpack Compose 기반 선언형 UI 기초 및 상태 관리[3주차] 로컬 경량 AI 모델(ONNX / MediaPipe) 구동 환경 세팅[4주차] 온디바이스 텍스트 & 임베딩 모델 인퍼런스 최적화[5주차] 실시간 컴퓨터 비전(MediaPipe) 객체 인식 & 포즈 추정[6주차] 안드로이드 NNAPI & GPU/NPU 하드웨어 가속기 연동[7주차] 로컬 벡터 DB(ObjectBox / SQLite-VSS) 기반 온디바이스 RAG 구축[8주차] 음성 인식(Whisper.tflite) & 온디바이스 음성 AI 어시스턴트[9주차] 모델 경량화 & 양자화 파이프라인(PyTorch ➔ ONNX ➔ TFLite)[10주차] 백그라운드 비동기 추론 & WorkManager 배터리 최적화[11주차] AI 앱 보안 & 모델 가중치 암호화(EncryptedSharedPreferences / NDK)[12주차] 독자적인 온디바이스 AI 앱 포트폴리오 완성 & 구글 플레이 배포