AsyncTaskでhttpClientを実行していますが、その前に別のAsyncTaskを使用してデータを生成しているため、時間がかかる場合があります。httpClientを実行する前にデバイスがスリープ状態になった場合、どうなりますか?httpClientリクエストにwakeLockが必要ですか?
質問する
1041 次
1 に答える
0
デバイスがスリープ状態になると、アクティビティonPause()
が呼び出されます。バックグラウンド タスクを派手な方法でキャンセル/終了しないと、何も起こりません。AsyncTask
メインアプリケーションとは別のスレッドで実行されるため、それらを止めることはできません。これまで。
私はあなたの設計を理解できませんでした: 2 つの別々AsyncTask
の の目的は何ですか? HTTP 要求を満たすためにデータを収集するのに時間がかかる場合は、競合状態が発生しないように、単一の を使用AsyncTask
して内部ですべてを実行する必要があります。doInBackground()
そうしないと、タスクをチェーンするか、最初のタスクで 2 番目のタスクを起動する必要があり、これは正しくないように思えます。
HTTP クライアントは単なるソケット ライブラリであり、神話上の獣ではありません :)
于 2012-12-26T19:05:14.697 に答える