Androidでマルチスレッド プログラミングする方法のまとめ(自分用メモ)
ワーカースレッドの実装方法
ワーカースレッドの実装方法には以下の3種類がある。
- AsyncTask
- Handler
- ExecutorService
Serviceもワーカースレッドを生成してくれそうな気がしてしまうが、これは明示的にワーカースレッドで実行しなければメインスレッドでの実行となる。
AsyncTask
画面更新処理が伴う短時間のバックグラウンド処理に用いられる。
できること
- バックグラウンドスレッドの生成
- バックグランドスレッドからメインスレッドへの通知
- バックグラウンド処理実行中の定期的なメインスレッドへの通知(進捗率表示に利用)
- バックグラウンド処理完了後のメインスレッドへの通知(処理完了後の画面更新に利用)
できないこと
想定利用場面
- 短時間のバックグラウンド処理
- バックグラウンド処理と連動して画面更新が必要な場面