안드로이드 개발 질문/답변
(글 수 45,052)
웹과 통신에서 스레드를 이용해서 2초마다 이미지를 가져와서 업데이트 해주는건데요
아래와 같이 스레드를 구현하면
웹에서 정보를 가져올때 딜레이 현상이 일어나면
어플전체 먹통이 됩니다.
그래서 다른 버튼들이 벽돌이 되네요.
찾아보니깐 메인스레드로 하면 이런현상이 발생된다고 하는데
그럼 이걸 어떤식으로 바꾸어줘야 하는지
고수님 조언 부탁드립니다.
2010.07.19 09:48:59
Handle 에다가 runnable 을 하셨으니 UI 잠기는건 당연한거구요
이걸 풀기위해선 1. Thread 2. runOnUIThread 3. AsyncTask
셋중에 하나를 고르셔서 다운로드파일을 저 세개중에 하나에서 호출하도록
수정하셔야 합니다.
2010.07.19 10:37:15
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
new Thread(new Runnable(){
public void run() {
// 데이터를 가져온다.
runOnUiThread(new Runnable() {
public void run() {
// 메인 스레드에서 데이터를 바인딩 한다.
}
});
}
}).start();
}
}, 0, 1 * DateUtils.MINUTE_IN_MILLIS);
이런거??