私は、サーバーからXMLをダウンロードして解析するような、いくつかのバックグラウンドプロセスを持つアプリケーションを持っています。これらのタスクはスレッドで実行しています。Androidでスレッドを処理する
スレッドがCPU時間を長時間取得しないことがあり、15分から数時間の間にいつでも発生し、スレッドが適切に動作するようになることがあります。
どうすればよいですか?
私は、サーバーからXMLをダウンロードして解析するような、いくつかのバックグラウンドプロセスを持つアプリケーションを持っています。これらのタスクはスレッドで実行しています。Androidでスレッドを処理する
スレッドがCPU時間を長時間取得しないことがあり、15分から数時間の間にいつでも発生し、スレッドが適切に動作するようになることがあります。
どうすればよいですか?
使用AsyncTaskクラスこのためAsyncTaskクラスを使用するサーバーから
をXMLを解析するため。
あなたがバックグラウンドでフェッチまたは処理に実行することができますし、バックグラウンド・プロセスは、このクラスの別のメソッドを完了していなかったまで、このチュートリアルのためにリンクし、http://www.vogella.de/articles/AndroidPerformance/article.html
を義務づける方針チェックを実行していなかった。この中
http://developer.android.com/reference/android/os/AsyncTask.html
私は非同期タスクを使用していますが、私の質問は、スレッド内のファイルを15分後に連続してダウンロードしていることです。しかし、私たちがいくつかのスケジューリングプロセスを使用してプロセッサを知っているように、スレッドごとに1つずつスレッドしますだからときにCPU時間を失う私のアプリケーションスレッドは、CPU時間を長い間取得していません。私はどのようにCPUの注意を戻すことができるか教えてください。 – Karan
私のAsyncTaskでの経験はあまり良くなく、15分という非常に長い操作ではひどいでしょう。 UI interaction、limitsなど)
サービスを作成することをお勧めします(IntentServiceは使いやすいです)。
通常はasynctaskを使用しますが、xmlをフェッチするには15分かかりますか?何が正確に15分以上かかりますか、それはXMLのダウンロードですか、それとも何らかの長い実行プロセスです。 15分以上の長い時間です。 – Marty