https://github.com/Kim-Min-Jong/android_practice_project2?tab=readme-ov-file
application context로 UI 작업을 권장하지 않는 이유
- 스레드 안정성(Thread Safety): 안드로이드에서는 UI 작업은 메인 스레드(Main Thread)에서 이루어져야함. 하지만 애플리케이션 컨텍스트는 메인 스레드가 아닌 백그라운드 스레드에서도 접근 가능, 따라서 애플리케이션 컨텍스트를 사용하여 UI 작업을 시도하면 스레드 안정성 문제가 발생할 수 있음
- 생명주기(Lifecycle) 관리: UI 작업은 주로 화면의 상태 변화나 생명주기 이벤트에 반응해야함. 애플리케이션 컨텍스트는 애플리케이션의 전체 생명주기와 관련이 있으며, 개별적인 화면의 생명주기와는 관련없음. 따라서 UI 작업을 애플리케이션 컨텍스트에서 처리하면 화면의 생명주기 이벤트를 적절하게 처리할 수 없음
- 리소스 접근의 한계: 애플리케이션 컨텍스트는 리소스에 대한 접근을 제공하지만, UI 작업을 수행하는 데 필요한 많은 리소스와 API에 접근할 수 없음 예를 들어, 레이아웃 파일이나 UI 위젯에 접근할 수 없음.
- 메모리 누수(Memory Leaks): 애플리케이션 컨텍스트는 애플리케이션의 전역 컨텍스트이므로 UI 작업을 수행하는 동안 메모리 누수가 발생할 수 있음. UI 작업을 수행하는 데 필요한 메모리 리소스가 적절하게 해제되지 않을 수 있음