본문 바로가기

안드로이드

안드로이드 Mainthread 와 subthread

반응형

하나의 쓰레드안에 하나의 메인 앱 패키지가 돌아가고있음 ( 메인쓰레드가 앱 패키지를 감싸고있다고 생각)

앱 패키지안(여러 클래스들이 있겠지)에서 유아이 업데이트 는 메인쓰레드에서 결국 호출하는것이므로 괜찮음

 

앱패키지에서 서비스는 백그라운드에서 돌고, 서비스에서 UI 업데이트가 필요할시에

서비스도 결국엔 메인에서 호출하는거니깐, 메인쓰레드를 이용하여 업데이트를 하고 있습니다.(핸들러가 딱히 불필요하다 이말임!)

 

근데  만약에 앱 패키지 안에 어떤 클래스의 콜백에서 UI를 업데이트 하려고한다? 답은 안됨.

콜백의 쓰레드는 sub 쓰레드로 메인쓰레드가 아니니깐  오류가 남,

UI의 업데이트같은 경우에는 항상 메인쓰레드에서 호출되어야하며, sub 쓰레드에서 메인쓰레드에 전달하려면 핸들러를 이용해야함 

 

또 뭔가 순서가 필요한 경우. 핸들러를 이용해서 씀

 

반응형

'안드로이드' 카테고리의 다른 글

onCreate()에서 finish경우 빈화면  (0) 2022.09.08
SurfaceView  (0) 2022.04.02
뷰의 터치이벤트 관리  (0) 2021.10.18
KeyEvent  (0) 2021.06.23
GattSever  (0) 2021.06.22