答えて
AsyncTask.cancel(true)
メソッドを使用してください。
これは見せかけです。そして、私は5秒後に私のAsyncTaskをキャンセルするためにpostDelayedを使うことができますか?ありがとう。 – bobetko
申し訳ありませんが、ここではわかりません。同期スレッドの例を以下に示します。 私の関数listen()は5秒間実行され、終了します。 Listen()はUDPリスナーです...
問題このコードでは、リストされた()が5秒間実行されるまでメインスレッド(応答がなくなった)が停止します。私は私の電話がフリーズするのを避けるために非同期スレッドを使用したいと思います。私が時間をかけて何もできないと言ったとき、私はlisten()関数に何らかのタイマーを入れてから経過時間を測定してから5秒後に終了することはできないと言っていました。それはできません。
Thread t = new Thread() {
public void run() {
try {
listen();
} catch (IOException e) {
Log.d(TAG, "IOException (Discovery) " + e);
e.printStackTrace();
}
synchronized (this) {
notifyAll();
}
}
};
synchronized (t) {
t.start();
try {
t.join(5000); // 5 sec
} catch (InterruptedException e) {
e.printStackTrace();
}
}
スレッドを強制的に停止することはできません。あなたができることは停止するようにシグナルを送ること(割り込みの呼び出し()またはフラグを立てる)です。
だから:
スタートは、あなたのワーカースレッドを実行しています。その内部で繰り返し(メインの作業ループ内で)
isInterrupted()
を確認し、InterruptedExceptions
をキャッチ - この場合スレッドを終了します。5秒間実行するTimerTaskを開始してから、ワーカースレッドで
interrupt()
を呼び出します。
更新:ポスターは、彼がすでに作業コードを持って、彼はただUIをブロックせずに非同期でそれを実行する必要があることを説明しました。
解決策:AsyncTask
をセットアップし、コードをdoInBackground()
メソッド内で実行します。
- 1. node.jsで非同期実行を停止する方法
- 2. リロード間隔をx秒後に停止する方法は?
- 3. スレッドの停止と同期
- 4. 非同期に実行されるタスクの一時停止と再開方法
- 5. meteor:非同期呼び出しを停止する方法
- 6. 24時間ごとにサービスを実行し、5回後に停止するアンドロイドコード
- 7. Ignite 2:非同期ランナブルを呼び出すと1時間後に実行が停止する
- 8. テスト実行を停止した後にタスクを実行する方法は?
- 9. メインスクリプトの停止時に非同期PHPスクリプトが停止する
- 10. muleの非同期フローを停止する方法
- 11. 2秒間javascriptコードの実行を一時停止する方法
- 12. WCFで長時間実行される非同期スレッド
- 13. 1秒間実行を一時停止する
- 14. 非同期プロセスが永久に停止するのを停止しますか?
- 15. Javascript、0.5秒間機能を実行してから停止(ループ)
- 16. redirect_toが実行された後に実行を停止する方法
- 17. 5秒以内にアニメーションGIFを停止
- 18. 非同期デリゲートを停止または強制終了する方法は?
- 19. Android:私の非同期タスクはUIスレッドで実行されており、アプリケーションが停止しています
- 20. メソッドと停止機能の間の正しい同期方法
- 21. 同期xmlhttprequestを呼び出すときにIEが5分間停止する
- 22. 特定の時間の後にスクリプトの実行を停止する方法
- 23. 2秒後にsetInterval()を停止する
- 24. スライドショーを停止して3秒後に続行する
- 25. C#で非同期の一時停止を行うには?
- 26. アップグレード後にVagrantが同期フォルダを停止しました
- 27. タイムアウト後にクエリの実行を停止する方法
- 28. PHPスクリプト実行後にsetIntervalを停止する方法ajaxで実行する
- 29. APIを使用して大きなレポートを非同期で実行し、スレッドが停止しないようにする方法
- 30. 実行中のスレッドから実行中のスレッドを停止するためのエレガントな方法
タイマーコントロールはありますか? – johnny
時間をかけて何もせずに5秒間実行したいですか?何? –