作者:200433 | 来源:互联网 | 2023-05-18 06:00
1.调试vConsole微信小程序通过vConsole的形式观察控制台打印。打印到vConsole控制台的是由JSON转化的字符串。这还是可以起到调试作用的。SourceMap当es6转e
1. 调试
vConsole
微信小程序通过vConsole的形式观察控制台打印。打印到vConsole控制台的是由 JSON 转化的字符串。这还是可以起到调试作用的。
Source Map
当es6 转 es5 、代码压缩时会生成 Source Map 的 .map文件。主要用再开发版中,正式包不会有。
2. 运行环境
微信小程序运行在 Android iOS(iPhone/iPad) 和 用于调式的开发者工具
1. 在 iOS 上,小程序逻辑层的 Javascript 代码运行在 JavascriptCore 中,视图层由 WKWebView 来渲染的,环境有 iOS8开始
2. 在安卓上,Javascript 运行在 X5 JSCore / V8,视图层 chrome提供。
3. 开发工具上,Javascript 运行在NW.js 中,视图层 chrome提供
运行限制
小程序不支持动态执行JS代码,
1. eval 执行JS 代码
2. new Function 创建函数
平台差异
javasrcipt 语法和 API 支持不一致,wxss 渲染不一致,需要真机调试保证鲁棒性
es6支持情况
两个不支持,Array.values 和 Proxy
3. 运行机制
冷启动:第一次打开,或者杀进程后的第一次打开
热启动:除了冷启动之外的启动
更新机制:
小程序在冷启动之后如果发现新版本,异步下载。但是这一次还是使用本地的包,但是会用下载的包进行替代。然后下一次冷启动之后就会运行新版本。 wx.getUpdateManager 马上使用新版本的接口。一般用不到,除非后台大换血
再次打开逻辑:打开首页 或者指定页面
4. 性能
优化建议
1. setData。视图层和逻辑层的通信并不是直接共享,可能导致问题的原因有:频繁的去setData,每次setData都传递大量新数据,后台的时候去setData
2. 图片资源
3. 代码包大小
4. 清理无用资源
分析工具
性能工具 Trace ,这个需要优化的时候再看,精力有限