하루에 0.01%라도 성장하자

Develop/Android

Android ) Handler postDelayed 사용법

뚠님 2019. 8. 23. 10:58
반응형

프로젝트상 자주 사용은 하지 않는데, 가끔 찾아보면 기억 안날때가 많아서 다시 기록하는 차원으로 남겨둔다.

 

import android.os.Handler;

Handler handler = new Handler();
handler.postDelayed(new Runnable(){
    @Override
    public void run(){
        // 실행할 코드 
    }
}, 1000); // 몇초 뒤에 실행할 코드를 실행할 것인가! ( 단위 : ms )

 

주의사항!

 

이건 내가 잘 몰랐을때 고생했었던 경험담인데... Handler 를 처음 지정하면 android.os.Handler를 import 할 것인지, 

java.util.logging.Handler를 import 할 것인지 선택할 수 있는데, 무작정 자동완성 된다고 Enter 치면 가끔 java.util.logging.Handler가 import 되는 경우가 있다!

 

그러면 위의 코드는 동작 하지 않으니 꼭 import 할때 android.os.Handler를 확인하고 import하자! 

( 위 코드에도 친절하게 적어놨음!!! ) 

 

이 이슈로 나처럼 괜한 고생 하지 않길 바란다.. ㅠ

 

TMI

 

위 코드처럼 사용하면 MainThread를 사용하는 방법이 된다. MainThread는 매우 바쁜 친구이기 때문에 간단한 작업에 한하여 성능에 부담없을 경우에만 사용하고, 그외에는 적절하게 runOnUIThread or AsyncTask를 사용하여 처리하면 좋다.

 

관련하여 현재의 나는 타 블로거 분들처럼 멋지게 글을 작성 할 순 없지만 이해에 도움을 줄 수 있는 블로그를 찾았으니 참고 하면 좋을 것 같다!

 

 

Handler.postDelayed와 Thread의 차이 - 링크클릭

 

AsyncTask란? - 링크클릭

반응형