私は Android Async タスクに取り組んでいます。メインクラスにいくつかの非同期タスクを実装しようとしました。ただし、どのタスクを呼び出しても、最初の実装のみが読み込まれます。なぜこれが起こり、どうすれば解決できますか? どんな助けでも大歓迎です。
2 に答える
私はアンドロイドアノテーションを使用しています。非同期タスクとprogressdialogを実装するのは非常に簡単です。
実装への参照:
http://androidannotations.org/
簡単、速い!
私は AsyncTask で同様の問題を抱えていましたが、明らかにあなたのコードがなければ、あなたの特定の問題が何であるかを伝えることができませんでした. ただし、私が見たあなたと同様の問題のほとんどは、次のいくつかの点によるものです。
「AsyncTasks は、理想的には短い操作 (せいぜい数秒) に使用する必要があります。スレッドを長時間実行し続ける必要がある場合は、java.util.concurrent パッケージで提供されるさまざまな API を使用することを強くお勧めします。 Executor、ThreadPoolExecutor、および FutureTask として。"
また、AsyncTasks が同時に実行されることを期待している場合は、おそらく間違っています。
最初に導入されたとき、AsyncTasks は単一のバックグラウンド スレッドでシリアルに実行されました。DONUT 以降、これはスレッドのプールに変更され、複数のタスクが並行して動作できるようになりました。HONEYCOMB 以降、並列実行によって発生する一般的なアプリケーション エラーを回避するために、タスクは単一のスレッドで実行されます。
本当に並列実行が必要な場合は、THREAD_POOL_EXECUTOR を使用して executeOnExecutor(java.util.concurrent.Executor, Object[]) を呼び出すことができます。