主循环队列

时间:2017-03-02 19:51:48

标签: android

如何跟踪UI线程Android的Looper队列?我想跟踪它以进行调试。例如,我想打开Looper.loop()中的日志记录:

        final Printer logging = me.mLogging;
        if (logging != null) {
            logging.println(">>>>> Dispatching to " + msg.target + " " +
                    msg.callback + ": " + msg.what);
        }

将打印机指定为无效的正确方法是什么?何时应该在Android Activity生命周期中分配?

提前致谢。

2 个答案:

答案 0 :(得分:1)

你检查过官方文档了吗? https://developer.android.com/reference/android/os/Looper.html

似乎就像

这样简单
Looper.getMainLooper().setMessageLogging(new LogPrinter(Log.DEBUG, TAG));

会做到这一点!

答案 1 :(得分:0)

通过在主Activity的onCreate()方法末尾调用以下内容,我可以获取“ >>>>>调度为“的消息。

PrintWriterPrinter out= new PrintWriterPrinter(new PrintWriter(System.out,true));
getMainLooper().setMessageLogging(out);

来源:https://www.programcreek.com/java-api-examples/index.php?api=android.util.PrintWriterPrinter