ループは私のアプリケーションをフリーズしますが、終了後は正常に動作します。 Thread
でループを実行しようとしましたが、アプリをフリーズしなくてもうまくいきました。しかし、今問題は、私たちが再起動することができないので、私はアプリのクラッシュを行う場合、私は同じループを再び実行することができないということですThread
。私は、アプリケーションをフリーズさせず、再び実行できるようにループを実行したい。どうしたらいいですか?私MainActivity
クラスで私のアプリをフリーズせずにループを実行するには?
コード:
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
は私が0
新しいスレッドを作成します。各ループごとに。 – Tokazio
は 'ExecutorService'を作成し、そこで重いループを実行します。 –
AsyncTaskを使用できます –