마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 카메라 스레드 질문입니다.

0 추천
카메라로 찍은 사진을 이미지뷰에 울릴때 메인스레드 에서 작업하면 메인스레드 에러가 발생하는데 

앨범에서 사진을 가져와서 이미지뷰에 올려주는 것은 메인스레드에서 작업해도 정상 작동되는 이유가 뭔지 궁금합니다. 답변부탁드립니다.
알파고 (4,320 포인트) 님이 2017년 9월 19일 질문

1개의 답변

0 추천
 
채택된 답변
일반적으로 이야기 한다면, Main UI가 무언가 작업을 하고 있다면, 다른 작업을 할 수 없는 것이죠.

Thread가 하나가 배정되어 있기 때문에, 한번에 한가지 일밖에 못합니다.

카메라로 찍은 후에도 계속 카메라의 입력을 화면에 표시한다거나, 찍은 후에 Call Back으로 받고 화면 전환을 하는 작업 중에 유저가 했던 다른 동작과 중첩되는 상황이 오면 충돌이 나는 거죠.

그래서, 보통 앱 UI에서 서버와 통신을 한다던지, 사이즈가 큰 이미지를 저장할때, 압축, 포맷 변환, 앵글 각도 변환 등을 하는 이미지 프로세싱을 하는 헤비한 작업들은 별도의 쓰레드나 Task로 할당하는게 바람직합니다.

즉 시간이 걸리거나, 헤비한 작업을 할 경우 또는 간단한 작업을 하더라도 앱 화면에서 무언가 지속적인 동작이 수행되고 있다면, 별도의 프로세스나 쓰레드로 작업을 진행해야, 중간에 앱이 멍청해 지는 이상한 현상을 줄일 수 있습니다.
Will Kim (43,170 포인트) 님이 2017년 9월 19일 답변
알파고님이 2017년 9월 20일 채택됨
...