EHP 1Hz 消息为什么没有沿用主线程 Handler
导航 SDK 中大量业务使用 Handler 把消息切回主线程,这对 UI 更新很自然,但 EHP 消息要求在导航过程中稳定地按 1Hz 产生并发送。
如果继续复用主线程队列,页面渲染、交互回调和其他导航消息都可能排在 EHP 任务之前。延迟不是固定值,因此不能只通过提前若干毫秒发送来补偿。
实现中为 EHP 建立了独立的 Observer 分发链路,使消息产生和消费者通知不依赖 UI 队列,同时在偏航、路线切换和导航结束时显式更新状态。
需要注意:独立线程并不自动等于线程安全。订阅生命周期、共享导航状态的可见性、异常隔离和停止条件都必须单独设计。