1

私は次のプログラムフローを持っています:

  1. ユーザーがフォームに入力します
  2. 私のアプリは、コンテンツプロバイダーを介して多数のレコードを生成しますが、これには時間がかかる場合があります(たとえば、10秒)。
  3. その後、ユーザーはプログラムを続行できます

2つの質問があります:

  1. 非UIスレッドを使用してステップ2を実行する理由-このプロセスが完了するまでユーザーがアプリケーションで何もできない場合、待機中のウィジェットを使用しないのはなぜですか?

  2. UI以外のスレッドを使用する必要がある場合、どのタイプの非同期スレッドアプローチが最も理にかなっていますか?

4

3 に答える 3

2

UIスレッドを使用しているのはあなただけではないからです。たとえば、時計や通知などをブロックします。数秒後、AndroidはANR(アプリケーションが応答しないダイアログ)を表示し、ユーザーにアプリを待つか強制終了するかを尋ねます。2については、を使用するAsyncTaskと、作業が簡単になり、完了時にUIを更新できます。

于 2012-06-21T08:42:10.013 に答える
1

を使用しAsyncTaskます。このチュートリアルを見てくださいAsyncTask-チュートリアル

ここDocum..AsyncTask

于 2012-06-21T08:42:52.883 に答える
0

AsyncTask itzを使用して、検索する場所で答えを見つけてください...ここをクリックしてください

于 2012-06-21T09:24:45.783 に答える