안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요.
현재 thread 문제로 검색해 보다가 궁금한 점이 있어 질문올립니다.
우선 UI thread라는것이 어떤것인지 궁금합니다.
만약 Activity를 상속받은 클래스가 하나있다고 가정했을 때
이것이 UI thread인가여?
만약 맞다면 Activity를 상속 받은 클래스에서 작업 분리를 위해 일반 클래스를 생성하여 Activity 클래스를 객체를 인자로 넘겼을 때
일반 클래스에서 넘겨받은 Activity 클래스의 객체를 이용하여 UI 작업(Activity.runOnUIThread 사용)을 하면 문제가 될수 있나여?
아직 코드를 만들지 못해 글로 질문올립니다. 코드는 추후 올리겠습니다.
고수님들의 많은 조언 부탁드립니다. 감사합니다.^^
2009.10.29 14:25:19
Thread와 Activity는 전혀 다른 개념입니다. Thread는 프로세스 상에서 코드의 실행을 담당하는 역할이고 Activity는 UI의 기본 단위입니다. 안드로이드는 기본적으로 프로세스를 생성하고 하나의 UI Thread를 생성하고 이 UI Thread가 Activity를 생성하게 됩니다. Activity의 기본적인 메시지 처리들이 전부 UI Thread에서 처리됩니다.
특정 클래스에 Activity를 넘긴호 runOnUIThread를 호출하는 것 자체는 문제가 없습니다. 그게 멀티스레드의 어떤 적합한 상황에서 호출하고 있는 것인지는 따져봐야겠지만요.