NO_NAME

適当に技術・仕事・ライフハックの話を書いていく予定です。

Handler と AsyncTask の使い分け

Android でバックグラウンド処理を走らせるのによく使う Handler と AsyncTask だが使い分けをどうしたらよいのか悩ましいところである。
ググってみると同じような悩みを持つ人がいるようで、Stack Overflow に次のような質問が投げられていた。
android - Handler vs AsyncTask - Stack Overflow

私の感覚としては一番目の回答者 Samuh の意見がもっとも近い。

AsyncTask は簡単に使えるのだが応用が利かない。
もっとも最たる点はバックグラウンド処理を実行するスレッドやHandlerが指定できないこと。
バックグランド処理だがシーケンスに実行したい場合には全く使い物にならない。

ちなみに何個スレッドを立てるかはOSに依存する。
Android 2.1だと1つしかスレッドをたてないが、一方Android 2.2だと最高128までスレッドを立ててしまう。