안드로이드 개발 질문/답변
(글 수 45,052)
Thread 에 while 루프를 사용하면 while 루프 안에 아무런 작업을 하지 않아도 cpu 를 full 로 사용하는데 혹시 cpu 를 full 로 사용하지 않으면서 루프를 도는 방법이 있는지 알려주셨으면 합니다.
간단히 테스트해본 코드 입니다.
cpu 사용량 확인은 Usage Timelines Free 라는 cpu 사용량 확인 앱을 사용하였습니다.
감사합니다.
간단히 테스트해본 코드 입니다.
public class Main extends Activity {
protected final String TAG = "Main";
protected Thread t = new MyThread();
protected boolean done = false;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
t.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
t.interrupt();
}
public class MyThread extends Thread {
@Override
public void run() {
super.run();
Log.d(TAG, "[start]");
while (!Thread.interrupted()) {
}
Log.d(TAG, "[close]");
}
}
}
cpu 사용량 확인은 Usage Timelines Free 라는 cpu 사용량 확인 앱을 사용하였습니다.
감사합니다.




그리고 onDestroy 는 반드시 호출된다는 보장이 없으므로 그점도 고려하셔야 합니다.