回答編集履歴
2
誤記訂正
test
CHANGED
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
|
13
|
-
postDely
|
13
|
+
postDelayedはHandlerがLooperに対して「Xミリ秒後にこのハンドラーを起動してね」という具合に依頼してくれるメソッドです。本コードではハンドラー処理の最後で再びpostDelayedしているので「一定時間間隔で繰り返しハンドラーが起動する」動きになりますが、この動きをすることを感覚的に「スレッドを立ち上げた」と表現されたのだと思います。
|
14
14
|
|
15
15
|
|
16
16
|
|
1
誤字訂正
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
さて、アクティビティーが非表示状態になったとき、
|
19
|
+
さて、アクティビティーが非表示状態になったとき、前述したとおりUIスレッド以外のスレッドを自分で起動していたわけではないのでスレッドの停止を考える必要はありません。すべきことは「mHandlerに繰り返し登録している処理を断ち切る」ことです。そのためには以下のようにHandlerのremoveCallbacksを使えばよいと思います。要するに現在起動待機中の処理(Runnable)を登録解除すればそれ以上HandlerからLooperへ処理の起動依頼は起きなくなる(=繰り返し処理は止まる)ということですね。
|
20
20
|
|
21
21
|
|
22
22
|
|