반응형
RunOnUiThread
- handler 대신 개발자가 발생 스레드에서 일부 코드를 Main Thread에서 처리할 수 있도록 하는 메서드
isRunning = true
val thread1 = object : Thread() {
override fun run() {
super.run()
while (isRunning) {
// 개발자가 발생시킨 스레드에서 오래 걸리는 작업을 수행
SystemClock.sleep(500)
val now2 = System.currentTimeMillis()
Log.d("test", "오래 걸리는 작업 : ${now2}")
// 메인 스레드에서 처리
runOnUiThread { // 고차함수로 처리하는 방법
binding.textView.text = "runOnUiThread : ${now2}"
}
/*
runOnUiThread(object : Thread(){
override fun run() {
super.run()
binding.textView.text = "runOnUiThread : ${now2}"
}
})
SystemClock.sleep(500)
// 작업 여러개 가능
runOnUiThread(object : Thread(){
override fun run() {
super.run()
binding.textView2.text = "또다른 작업 : ${now2}"
}
})
*/
}
}
}
thread1.start()
반응형
'Android' 카테고리의 다른 글
[안드로이드/Recevier] 시스템 메시지 (System Message) (0) | 2023.04.19 |
---|---|
[안드로이드/Recevier] BroadCastReceiver 란? (0) | 2023.04.17 |
[안드로이드/Thread] Handler를 사용한 화면 처리 (0) | 2023.04.17 |
[안드로이드/Thread] Handler를 사용한 반복작업 처리 (0) | 2023.04.16 |
[안드로이드/Thread] Thread 란? (0) | 2023.04.16 |