Shibuyandroidにて学んだこと
Thread & Handler
Thread & Handlerを使った別スレッド処理
苦手意識があったけど、もう大丈夫。把握した。
要は
Runnnable::runに別スレッド処理を書き、
Handler::postでUIに触ればOK
ソース
mHandler = new Handler(); new Thread(new Runnable() { public void run() { //ここに別スレッドにしたい処理 mHandler.post(new Runnable() { public void run() { //ここにUIに設定する処理 } }); } }).start();
当然Handler::postは1回しかダメということもなく、2度でも3度でも
mHandler = new Handler(); new Thread(new Runnable() { public void run() { //ここに別スレッドにしたい処理 mHandler.post(new Runnable() { public void run() { //ここにUIに設定する処理 } }); mHandler.post(new Runnable() { public void run() { //ここにもUIに設定する処理 } }); } }).start();
またThread & Handlerなら
Asyncみたいに同時に実行できない
なんてこともなく、いくつか*1同時に実行できる
AsyncTaskとの使い分けが重要。
自分的にはServiceでは主にThread & Handler使って、通常だったらAsyncTaskかな
*1:個数は未検証