Hanlderのdump

開発中などにHandlerに格納されているmessageを見たい場合がありますよね。
そんな時は Hanlder.dump() を使います。

mHandler.dump(new LogPrinter(Log.DEBUG, "HANDLER"), "-- ");

dump()にはPrinter引数が取れるのですが、ここではLogcatで見れるようにLogPrinterを使っています。Log.d("HANDLER")と同じですね。

で、こうすると、

D/HANDLER ( 2828): -- Handler{4a404560} @ 1211762
D/HANDLER ( 2828): --   Looper{4a3e9e58}
D/HANDLER ( 2828): --   mRun=true
D/HANDLER ( 2828): --   mThread=Thread[Instr: android.test.InstrumentationTestRunner,5,main]
D/HANDLER ( 2828): --   mQueue=android.os.MessageQueue@4a3e9e78
D/HANDLER ( 2828): --     Message 0: { what=0 when=1211756 }
D/HANDLER ( 2828): --     Message 1: { what=0 when=1211758 }
D/HANDLER ( 2828): --     Message 2: { what=0 when=1211760 }
D/HANDLER ( 2828): --   (Total messages: 3)

とlogcatに出てきます。メッセージの数とwhatが分かるので簡単に見たい場合にはいいかもですね。