개발 공부/안드로이드

android/kotlin Thread, runOnUiThread

yong_DD 2022. 7. 3. 15:31

안드로이드는 메인 thread에서면 ui 변경이 가능하다.

하지만 ui 변경이 필요없는 작업(DB에서 정보를 가져오는 작업 등)에서는 메인 thread를 사용할 필요가 없다.

그럴 때 thread를 별도로 사용했다가 UI 변경이 필요해지면 해당 사용중인 thread 에서

runOnUiThread()를 호출해서 UI 변경이 가능하다.

runOnUiThread()를 호출하면, 현재 tread가 메인 thread가 아닐 경우 메인 thread의 이벤트 큐에 추가된다.

 

Thread(Runnable {
     // 작업
       runOnUiThread {
            //UI 변경
        }
     // 작업       
}).start()

https://developer.android.com/reference/android/app/Activity