내 안드로이드 앱은 액티비티의 UI 스레드에 있기 때문에 시스템 크래시가 발생하는 특히 큰 계산을 사용합니다. 멀티 스레딩에 대한 확신이 없으므로 올바르게 수행하는 방법에 대한 팁을 얻고 싶습니다. 이것은 내가 "올바른"아니다 내가 한 일을 확신, 나는 지금안드로이드 UI에서 많은 계산하기 Thread
class ActivtyName extends Activity{
boolean threadcomplete = false;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//stuff
Runnable newthread = new Runnable(){
@Override
public void run() {
doBigComputation();
threadcomplete=true;
}
};
newthread.run();
boolean b = true;
while(b){
if(threadcomplete){
b=false;
startTheApp();
}
}
}
}
을 것입니다. (그것은 작동하는 것 같다 .System은 충돌하지 않는다). 기본적으로 newthread가이 부울이없는 계산을 완료했다는 것을 UI 스레드가 어떻게 알 수 있는지 잘 모르겠습니다. threadcomplete. 이 작업을 수행하는 "올바른"방법이 있습니까?
AsyncTask를, http://developer.android.com/reference/android/os/AsyncTask.html –