반응형
하나의 쓰레드안에 하나의 메인 앱 패키지가 돌아가고있음 ( 메인쓰레드가 앱 패키지를 감싸고있다고 생각)
앱 패키지안(여러 클래스들이 있겠지)에서 유아이 업데이트 는 메인쓰레드에서 결국 호출하는것이므로 괜찮음
앱패키지에서 서비스는 백그라운드에서 돌고, 서비스에서 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 |