Die Schleife friert meine App ein, aber nachdem sie fertig ist, funktioniert die App normal. Ich habe versucht, Schleife in Thread
laufen und es funktionierte sehr gut ohne Einfrieren App. Aber jetzt ist das Problem, dass ich die gleiche Schleife nicht erneut ausführen kann, wenn ich die App stürzt, weil wir Thread
nicht neu starten können. Ich möchte die Schleife so ausführen, dass sie die App nicht einfriert und erneut ausgeführt werden kann. Wie kann ich es tun?Wie führe ich eine Schleife, ohne meine App einzufrieren?
-Code in meiner MainActivity
Klasse:
protected Thread sendthread;
@Override
protected void onCreate(Bundle savedInstanceState) {
sendthread = new Thread(new Runnable() {
@Override
public void run() {
for(int i=0;i<amount;i++){
if (status == 0){
break;
}
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumber.getText().toString(),null,messagetoSend, null, null);
}
}
});
}
Thread
wird von einem Ich stoppe Faden button
start.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
status = 1;
sendthread.start();
}
Gestartet von status
-0
neuen Thread erstellen für jede Schleife. – Tokazio
Erstellen Sie einen 'ExecutorService' und führen Sie dort schwere Schleifen aus. –
können Sie AsyncTask verwenden –