主线程上出现一段长 Binder 调用,慢的可能是服务端处理,也可能是事务派发、服务端线程排队或锁等待。这篇从一次调用出发,用 Perfetto 的 Binder 事件、线程状态和 Java monitor contention,把等待时间逐段分开。 这些信号需要在抓 Trace 时启用;看到主线程 Sleeping 或一个 futex 栈,只能确定它在等待,不能直接写成「Binder 慢」或「J…
主线程上出现一段长 Binder 调用,慢的可能是服务端处理,也可能是事务派发、服务端线程排队或锁等待。这篇从一次调用出发,用 Perfetto 的 Binder 事件、线程状态和 Java monitor contention,把等待时间逐段分开。 这些信号需要在抓 Trace 时启用;看到主线程 Sleeping 或一个 futex 栈,只能确定它在等待,不能直接写成「Binder 慢」或「J…
讨论
登录后参与讨论
还没有评论,来说第一句吧。