
Glide 의 Activity 생명주기 콜백 처리
두줄요약
Glide가 숨겨진 Fragment로 Activity 생명주기를 수신하는 구조를 분석했습니다. RequestManager가 이미지 요청의 재개·중지·정리를 자동 처리합니다.
구조와 흐름
Glide.with(Activity)호출 시 Activity의FragmentManager에서RequestManagerFragment탐색 또는 생성- UI 없는
RequestManagerFragment를 Activity에 추가해 Activity 생명주기 콜백 수신 - Fragment의
onStart·onStop·onDestroy이벤트를ActivityFragmentLifecycle리스너에 전달 RequestManager가 리스너로 등록되어 요청과 Target의 재개·일시 중지·제거 수행
선택 이유
- 이미지 다운로드·디코딩·표시와 캐시 처리를 Activity 상태에 맞춰 자동 제어
- 개발자 측 생명주기별 요청 관리 코드 최소화
- Fragment 태그와 대기 맵을 통한
RequestManagerFragment중복 생성 방지
주의할 점
- 백그라운드 스레드의
get(Activity)호출은 Fragment를 생성하지 않고 애플리케이션 생명주기 사용 - 애플리케이션 생명주기 경로에서는
onStart이벤트만 수신 가능 onDestroy시 Target·Request·Lifecycle 리스너·등록된RequestManager정리




