Runnable

Threadは、スレッド上で実行する処理内容runメソッドを持つRunnableインタフェースを実装する必要がある・・・。

Runnable | Android Developers

今回は、匿名クラスでRunnable派生クラスを定義し、それをThreadのコンストラクタ引数に渡すことで、runを実行するスレッドを生成し、開始する・・・。

Threadオブジェクトは使い捨てるので、変数は用意せずにnewで生成・・・。
コンストラクタ引数にRunnable派生クラスオブジェクトを匿名クラス定義・・・。
runの中身は前回と同じ重い処理・・・。
Threadのnewのあとにstartでこのスレッドを開始する・・・。

f:id:BG1:20161003170950p:plain

Button1を押すと、

f:id:BG1:20161003171028p:plain

Button1は固まらずにbeforeのログ・・・。

f:id:BG1:20161003171134p:plain

10秒でafterのログ・・・。

こんな風にもスレッドを定義して開始できる・・・。

Sample/android/Runnable/Runnable/src/Runnable at master · bg1bgst333/Sample · GitHub