


四种常见的 POST 提交数据方式
2019-06-06 19:27
application/x-www-form-urlencoded
页面表单方式提交,编码为名称/值对
- Content-Type:application/x-www-form-urlencoded
- 数据进行了URL转码
提交数据post
四色二维码
2019-06-06 19:27
采用第三方库qrcodeplus实现
->https://packagist.org/packages/davidnineroc/qrcodeplus
1.克隆代码库:
git clone https://xuegang.coding.net/p/colorful-qrcode
彩色二维码四色二维码
小程序wxml使用外部函数
2019-06-06 19:27
1.新建wxs文件,例如array_fun.wxs:
- 这里为判断元素在数组中是否存在,存在返回true否则为false
var arr_fun = {
array_index: function (search, array) {
for (var i = 0; i < array.length; i++) {
if (array[i] == search) {
return true;
}
}
return false;
}
}
module.exports = {
array_index: arr_fun.array_index
}
小程序wxml外部函数
微信小程序运行机制
2019-06-06 19:27
运行环境差异
- iOS:JavaScriptCore->WKWebView渲染
- Android:X5 JSCore来解析(X5基于Mobile Chrome 53/57 内核)
- DevTool:nwjs->Chrome Webview渲染
小程序运行机制
小程序优化建议
2019-06-06 19:27
setData
- 频繁setData(毫秒级)后果
- Android 下用户在滑动时会感觉到卡顿,操作反馈延迟严重,因为 JS 线程一直在编译执行渲染,未能及时将用户操作事件传递到逻辑层,逻辑层亦无法及时将操作处理结果及时传递到视图层
- 渲染有出现延时,由于 WebView 的 JS 线程一直处于忙碌状态,逻辑层到页面层的通信耗时上升,视图层收到的数据消息时距离发出时间已经过去了几百毫秒,渲染的结果并不实时
- 每次 setData 都传递大量新数据
- 数据传输实际是一次 evaluateJavascript 脚本过程,当数据量过大时会增加脚本的编译执行时间,占用 WebView JS 线程
- 后台态页面进行 setData
- 当页面进入后台态(用户不可见),不应该继续去进行setData,后台态页面的渲染用户是无法感受的,另外后台态页面去setData也会抢占前台页面的执行
- 建议
- 不要频繁调用setData, 尽量合并到一次setData调用
- 传输数据量跟通信性能有关,尽量少于64k,避免一些不需要在页面展示的复杂数据结构或者长字符串
- 与界面无关的数据最好不要设置在data中
- 去掉不必要的事件绑定,减少通信的数据量以及次数
- 不要在节点data前缀放置过大数据(需要传输target的currentTarget和dataset)
小程序优化
好文推荐
扫描下方二维码阅读文章
浏览器、微信扫码