list = geocoder.getFromLocation(
locationNetwork.getLatitude(),
locationNetwork.getLongitude(), 3);
getFromLocation(LocationManager) を介して最後の場所を取得しようとしているコード ブロックがあります
。それには時間がかかる可能性があるため、UI とは別のスレッドに配置したいと考えています。しかし、私は何を使うべきか混乱しています。この目的のためにハンドラーまたは非同期タスクを使用する必要があります。Androidでハンドラーと非同期タスクをいつ使用する必要があるかについて、私は混乱しています。誰かがいくつかの例、シナリオで私を説明できますか..ありがとう.!
質問する
2315 次
2 に答える
0
AsyncTask
、Handler
、および の違いについて話しているこのSOの回答を参照してくださいThread
の作成について話している場合、ほとんどの場合、それは開発者の好みですThread
。UI
特にバックグラウンドの実行中にを更新する必要がある場合は、その方が簡単Thread
だと思います。AsyncTask
どちらもUI
、バックグラウンドでより重い作業を行っている間、 で作業を続けることができます。
を使用AsyncTask
して作業を行い、他の方法でdoInBackground()
を更新できます。これを複数の場所で使用する場合は、別のファイルにして、必要に応じてコンストラクターを介して渡すことができます。1つだけで使用する場合は、それを内部クラスにすることができ、そのすべてのメンバー変数にアクセスできますUI
AsyncTask
Thread
Activity Context
Activity
Activity
Activity
于 2013-07-03T19:40:40.730 に答える