से भारी गणना लेना मेरा एंड्रॉइड ऐप एक विशेष रूप से बड़ी गणना करता है जो सिस्टम को क्रैश करता रहता है क्योंकि यह गतिविधि में यूआई थ्रेड पर है। मुझे मल्टीथ्रेडिंग में थोड़ा विश्वास नहीं है और इसलिए मैं इसे सही तरीके से करने के तरीके पर कुछ सुझाव प्राप्त करना चाहता हूं। यह है कि मैं क्याएंड्रॉइड यूआई थ्रेड
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();
}
}
}
}
अब है, मैं बहुत यकीन है कि मैं क्या किया है "सही" नहीं है हूँ। (हालांकि यह काम करने लगता है। सिस्टेम दुर्घटनाग्रस्त नहीं है)। असल में, मुझे यकीन नहीं है कि यूआई थ्रेड को कैसे बताया जा सकता है कि न्यूथ्रेड ने इस बूलियन, थ्रेडम्प्लेट के बिना गणना समाप्त कर दी है। क्या ऐसा करने का कोई "सही" तरीका है?
AsyncTask, http://developer.android.com/reference/android/os/AsyncTask.html –