0
메인 UI 스레드가 차단되는 이유를 알지 못합니다. function doSomething()을 호출하는 버튼이 있습니다.메인 스레드 차단하기
randomButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
doSomething();
}
});
}
// My private helper funtion
private void doSomething() {
Thread t1 = new Thread() {
@Override
public void run() {
long startTime = SystemClock.uptimeMillis();
Log.e(TAG, "Start Time = "+startTime);
while((SystemClock.uptimeMillis()-startTime)<6000){// Loop for 6 seconds
Log.e(TAG, "Diff ="+(SystemClock.uptimeMillis()-startTime));
}
}
};
t1.run();
}
문제는 내가 버튼을 누르면, 내 루프가 실행되는 시간 (여기 6 초) 동안 눌린 채로 남아 있습니다. 루프가 계속 실행 되더라도 사용자가 UI 요소를 계속 사용할 수있는 방식으로이 도구를 원합니다. 그게 내가 새 스레드를 만든 이유 야. 내가 뭔가 잘못하고 있는거야?
감사합니다.
t1.run() 대신't1.start()'를 호출해야한다. –