1
10個の数字を含むArrayListがあるとします。私は、UIスレッドからの配列を反復処理しながら、私のようなSMSを送信:AsyncTask経由でSMSを送信するのは安全ですか?
new smsAsyncTask().execute(new String[]{number,message});
public class smsAsyncTask extends AsyncTask <String,Void,Void>{
@Override
protected Void doInBackground(String... data) {
smsmanager.sendTextMessage(data[0], null, data[1], null, null);
return null;
}
すべてのSMSの前にユーザーを押し、戻るボタンが送られてきた場合は、AsyncTasksが活動して殺される私は何をだろうか? AsyncTasksで送信する代わりにUIスレッドを使用する必要がありますが、UIをできるだけ速くします。
ユーザーが 'AsyncTask'をホストしている' Activity'を終了すると、 'doInBackground(...)'のために使用されたスレッドが正しいアプリケーションをクリーンアップしないと孤立する危険性があります( 'onPause ) 'など)。おそらく、 'AsyncTask'や' Activity'によって直接ホストされているものではなく、何らかの種類のサービス(おそらく 'IntentService')を使用しています。 – Squonk