7 月 27 日消息 相比模拟器调试方式,真机调试能够将小程序放在真机环境下进行调试,实现运行更快、更真实等明显效果,成为小程序调试的重要一环。
获悉,微信开发者工具的真机调试 2.0 版本成功将渲染层与逻辑层运行在真机,实现以下新优势:
-
更真:更接近真机表现
-
更全:覆盖 Canvas、Udp 等接口
真机调试 2.0 版本的两大变化
1. 实现更接近真机的表现
真机调试 1.0 版本利用小程序的双线程架构,将渲染层与逻辑层同时运行在不同线程,实现性能提升。然而,逻辑层运行在工具而非客户端,导致在边界情况下,真机调试与真机表现存在差异。
图:真机调试 1.0 版本线程运行情况
更新后的真机调试 2.0 版本实现渲染层和逻辑层都运行在客户端,保证了真机调试的表现,解决 1.0 版本的不足。
图:真机调试 2.0 版本线程运行情况
2. 覆盖更多接口
尽管微信团队针对某些接口(例如 Canvas)进行真机优化适配,但是 1.0 版本逻辑层与渲染层分离的特点导致逻辑层运行结果无法直接被真机使用,导致接口无法调试而失败。2.0 版本实现渲染层与逻辑层均存在于真机,成功解决接口调试问题。
左图:1.0 版本 Canvas 接口调试失败,右图:2.0 版本 Canvas 接口调试成功
真机调试 2.0 版本的技术探索
逻辑层和渲染层都运行在真机能够使得调试结果更接近真机表现。为此,微信团队针对不同系统的小程序注入不同的调试代码,实现新的真机调试功能。
由于不同系统注入的调试逻辑不同,因此用户需要选择系统类型进行真机调试。不过用户也无需担心注入代码造成代码包超限的情况。微信团队已进行兼容处理,依然按照用户原始代码包体积计算代码包大小。
总 结
真机调试 1.0 版本很好地利用了小程序的双线程架构,利用渲染层和逻辑层分离实现真机调试。而真机调试 2.0 版本将渲染层和逻辑层都运行在真机,实现真机调试更接近真机表现,同时成功调试 1.0 版本无法调试的接口,让开发者排查和定位问题变得更加容易。