Android

Android Studio, Thread.sleep()사용시 UI도 멈춘다.

범데이 2022. 1. 17. 00:43
728x90

Android Studio로 게임앱을 개발하는 도중에,

 

상대의 턴을 기다려줘야 할 과정이 생겨서

Thread.sleep()을 사용하여 기다리게 해줬으나,

화면에 아무런 반응이 없이 상대의 턴이 넘어가지는 상황이 발생했다.

 

본론부터 말하자면, Thread.sleep()사용시 UI까지 멈추게 되어

예를들어 sleep시키기 전에 변경할 화면으로 전환하고,

일정 시간 sleep을 시킨 뒤에 다음에 다시 이전화면으로 돌아와도 결국 똑같은 화면만 쭉 보여지게 된다. 

 

따라서 지연 과정을 거치기 위해 Thread.sleep()사용보다는

아래의 코드 예제와 같이 handler의 postDelayed메서드를 사용하도록 하자.

import android.os.Handler;

Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            @Override
            public void run() {
                // To do something...
            }
        }, 3000); //딜레이 타임 조절
반응형

'Android' 카테고리의 다른 글

[Room + Coroutine] 리스트 항목 DB 연동 - 0  (0) 2020.11.30