Handler handler = new Handler() {
  @Override
  public void handleMessage(Message msg) {
     
     if(bitmap[page] == null) {
       // 이미지 아이디를 가져와 bitmap에 저장하는 부분
     }
     // 이미지를 뿌려줍니다.
     handler.postDelayed(autoView, 2500);
  }
 };
 
 private Runnable autoView = new Runnable() {
  @Override
  public void run() {
//   while(true) {
    page++;
    handler.sendEmptyMessage(0);
//   }
  }
 };

위의 코드에서 보시면 아시겠지만 postDelayed(autoView, 2500); 을 핸들러 안에서 부릅니다.
run()안에서 while로 돌리고 Thread.sleep(2500)을 주고 싶지만 sendEmptyMessage(0)가 안먹히는지
Handler에서 Log로 확인해봐도 전혀 찍히지가 않더군요.

제가 원래 안먹히던 코드는 주석처리한 while문안에 Thread.sleep(2500)만 추가하시면 되는겁니다.

1. 일단 위의 코드도 원하던 대로 작동은 하지만... 저렇게 해도 되는건지... 알고싶습니다.
2. run()안에서 while문과 Thread.sleep을 이용하는 방법은 없는 건지.. 알고싶습니다.