2016-07-14 3 views
1

AsyncTaskAsyncTask.SERIAL_EXECUTORでモードを実行:AsyncTaskインスタンスを開始したストレートの後doInBackground()と別の前に実行されることが保証(UIスレッド上で)onPostExecute()された新しいタスクのonPreExecute()を呼び出すために得ることができますか?Asyntaskシリアルエグゼ

私はシリアル実行プログラムモードを意味します - onPostExecute()/onPreExecute()コールバックも常に順番になることを保証していますか?

このシリアル化は、特定のプロセスに対してグローバルです。

これはどういう意味ですか?

答えて

0

doInBackground()の後にスレッドが変更され、onPostExecute()がUIスレッドで実行されます。そして、最初のタスクのdoInBackground()の後に、別のタスクdoInBackground()doInBackground()が開始されます。だから保証のチャンスはありません。

+0

あなたは100%確実ですか?以前の実行からのonPostExecute()が終了する前に、新しいonPreExecuteが実行されないように、どこかにロックがある可能性があります。 – JohnyTex

+0

@JohnyTex 100%確信... –

+0

しかし、どちらかというと、OnPreExecute()で何もしない(重要)場合は、doInBackground()がブロックされているので問題ありません。 – JohnyTex

関連する問題