クラス ( を拡張する) のインスタンスを作成し、 5 分ごとにAsynctask
そのメソッドを呼び出したいと考えています。execute()
そのためにThread.sleep(5*60*1000))
、onPostExecute()
メソッドを呼び出してから、クラスの新しいインスタンスを作成しようとしました。コードは以下の通りです。
public class MyAsyncTask extends AsyncTask<String, Void, String>
{
protected String doInBackground(String... arg0) {
//whatever I want to do
}
protected void onPostExecute(String result) {
Thread.sleep(5*60*1000);
new MyAsyncTask().execute("my String");
}
}
ただし、このコードを使用すると、UI が 5 分間ブロックされます。onPostExecute()
コードがUIスレッドで実行されることをどこかで読みました。これは、UI がブロックされている理由を説明しています。AsyncTask
しかし、UI をブロックせずにの新しいインスタンスを作成するにはどうすればよいでしょうか?
助言がありますか ?ありがとう。