2016-04-01 10 views
0

私はアンドロイドで新しく、私はasynkタスクを主に使っていますが、ハンドラもあります。スレッドとasynkタスクとハンドラの違いを読んだときにハンドラが混乱しますなぜハンドラは1つの違いAsynkタスクはUIスレッドで初期化され、Handlerは任意のものから初期化できます。 Asynkタスクをいつ使用するのか、そうでない場合、なぜ私に状況を教えてください。なぜですか?ハンドラーと同じですか?どこにasynkタスクを使用するのか、そしてハンドラがあればそれが存在するのはなぜですか?

+4

http://stackoverflow.com/questions/6964011/handler-vs-asynctask-vs-threadと同じです – user3641702

答えて

0

あなたはハンドラを誤解しています。 Handlerscommunicate between two threadsに使用されています。達成するためにAsynctaskを使用するには、handler and thread togetherthreadとして使用する必要があります。background processingを使用し、handlerを使用してupdate UI accordinglyを使用します。この両方の作業はasynctask自体で実行できますが、これは少し問題をクリアすることを願っています。 さらに詳しい説明については、このリンクを参照してください。Handlers and Thread

0

AsyncTaskは、UIスレッド(メインスレッド)を中断することなくバックグラウンドで実行するために使用されます。Handlersはメインスレッドで実行され、UI更新操作のような目的のためにUIコンポーネントを別のスレッドから伝達するのに適しています高価なプロセスを実行するには、ジョブが完了するまで主スレッドがブロックされます。 私は個人的にメッセージ管理部分としてHandlersを使用して、アプリケーションイベントを考慮してUIコンポーネントを維持し、FragmentまたはActivityライフサイクルに沿ってバックグラウンドでプロセスを実行するためにAsyncTaskを使用します。

関連する問題