java.util.Timer와 java.util.TimerTask를 이용한 타이머스레드를 사용할 때
import java.util.Timer;
import java.util.TimerTask;
// 1. Timer생성
private Timer mTimer = new Timer();
// 2. TimerTask연결 하여 기동
// INTERVAL시간마다 run()함수가 수행된다.
mTimer.schedule(
new TimerTask(){
public void run() {
mHandler.post(new Runnable(){
public void run(){
Log.d(TAG, "running Timer...");
}
});
}
}, INTERVAL,INTERVAL);
// 3. Timer의 제거
mTimer.cancel();
주의>>
** 생명주기의 관리에 주의해야 한다.
BACK시에는 cancel후 재진입시 schedule을 호출시 정상동작하나..
HOME시에는 cancel후 재진입시 schedule을 호출하면 IllegalStateException이 발생하면서 타이머가 동작하지 않는다.
따라서 Timer는 이런식으로 사용하는것을 지양해야 할듯!!!!
원인은 찾지 못함.