Eruda手机调试工具自1.5.4版本发布后已经停用了半年多。今年下半年又重新投入开发,主要是针对之前的非议。该工具的控制台性能得到了优化,该工具的整体外观也进行了一定程度的调整。至此,2.0版本终于顺利发布。那么,新版本相比上一版本有哪些更新呢?支持辅助功能ChromeDevtools在控制台面板执行代码时可以使用控制台特有的一些辅助功能,比如常用的$选择功能,copy复制,$0引用被选元素等。Eruda也支持一些方法,包括copy、$、$$、$x、clear、dir、table、keys和$0-$4元素访问。console.group支持Eruda早期版本的大部分控制台对象方法,但仍有一些支持的方法无法使用。除了profile、profileEnd等方法无法实现外,新版Eruda基本支持console对象上的所有方法,包括分组功能。同时,前期实施的表格和样式打印中的一些问题也一一修正。目前支持的完整控制台方法列表如下:log,error,info,warn,dir,time/timeLog/timeEnd,clear,count/countReset,assert,table,group/groupCollapsed/groupEnd异步渲染旧版Eruda时你执行控制台.log会将结果同步渲染到页面,这会导致程序执行卡住。比如你执行(leti=0;i<1000;i++)console.log(i)的代码,你会发现使用eruda时会花费很多时间。使用新版Eruda,只要开启异步渲染(默认开启),基本不会影响代码的执行速度,也不会出现页面卡顿无法使用的情况。当然,代码执行后,你会在工具上看到一步步打印出来的日志。内存优化由于每条日志都存储了原始的html字符串,旧版本在打印大量日志时会导致内存爆炸和页面崩溃。新版本的日志信息只保存了渲染的dom节点,内存占用比之前降低了50%以上。渲染优化日志打印时间长了会形成一个很长的列表,因为dom对象太多了,滚动的时候会变得很卡。这里采用常见的长列表优化技术,只渲染可见区域的日志,大大优化了长列表下的滚动性能。实际测试打印10000条日志的内存占用和流畅度都在可以接受的范围内。主题为了让开发者体验更接近Chrome调试工具,新版本采用了与DevTools相似的配色方案,同时还提供了深色主题(在设置面板中可选)。不仅如此,Eruda还加入了多款经典主题配色,比如Monokai等,你可以根据自己的喜好调整外观。从2016年Eruda发布1.0版本到现在已经3年多了,以后会持续更新维护,欢迎大家使用。PS:有什么问题或者建议可以去仓库issue页面反馈:)
