如何在Handler中转储messageQueue?

时间:2015-02-12 08:10:23

标签: java android

我正在调试一个Android框架,一个Handler处理消息很慢,所以我可能应该检查Handler的MessageQueue,看看该消息是否具有低优先级或队列是否太长。

我查看了Handler.java并看到了一个转储方法:

public final void dump (Printer pw, String prefix)

最终调用MessageQueue来转储所有消息。

这是一个问题,我应该如何使用转储,尤其是prama打印机?

谢谢!

2 个答案:

答案 0 :(得分:3)

以下将队列转储到系统日志(logcat)。您可以将LogPrinter替换为Printer的其他实现。例如,StringBuilderPrinter会将输出发送到StringBuilder。

mHandler.dump(new LogPrinter(Log.DEBUG, "TAG"), "PREFIX");

答案 1 :(得分:0)

Documentation of Printer。使用其中一个引用的子类。