微信小程序官方优化方法及检测:
1.优化建议:
https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips.html
2.性能 Trace 工具:
https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tools.html
3.检测小程序方法:
https://developers.weixin.qq.com/miniprogram/dev/framework/audits/audits.html
微信官网还有一些其他的功能,可以在上面探索下,这里只是记录下优化有关的网址。
其他优化个人总结(小程序及native):
控制应用包主要策略:
- 搬:
能搬的尽量搬。图片、音频、数据、甚至页面,很多都可以搬至服务端,需要时再通过网络载入。将非核心非必要的内容移出代码包可以大幅度释放代码包空间。 - 删
搬不了的尽量删。已下线、已废弃、无关、冗余等不需要/不再需要的内容应及时清理,避免持续占用代码包空间。 - 压缩
删不了的尽量压缩。图片、js、wxss、wxml等均存在压缩空间。很多时候,适当程度的压缩,能在几乎不影响功能体验的同时,有效减少空间占用。 - 合并
压缩不了的尽量合并(布局及逻辑代码抽取,图片统一等)。功能类似的资源可以归一化,在需求/设计/实现层面减少资源的重复消耗。 - 简
页面布局尽量简单,减少代码量且能提高布局加载速度。
资源外置
非核心不紧急的资源文件,特别是图片、音频、视频等体积较大的媒体文件,可以移至cdn服务器,需要时再通过网络载入,这样也可以提高app打开速度。
数据外置
非核心不紧急的数据内容,包括城市地区等大段数据,标签映射等大段配置,使用条约、服务说明等大段文案,可以移至数据服务器或本地storage,需要时再予以载入。
有些内容体积会比想象中大,移出代码包后,会释放很多空间。
功能外置
非核心自定义属性不强烈、不紧急可以异步处理的功能,可以移至外部实现。如选择地址、查看大图等功能可以交由小程序及native原生接口实现,编码解码等功能可以交由服务端实现。
页面外置
非核心不紧急的页面,可以考虑移至服务端。从基础库1.6.4起,小程序开始支持内嵌网页,非核心页面可以考虑适当往web服务器迁移。同时native的app非必要页面也可以使用h5实现,如:关于 应用反馈等页面,用户使用少且愿意等待加载。
注:个人感觉一款app或者小程序能被用户所喜爱除了良好的设计,还有比较快的数据及图片加载,以及比较快的用户事件反馈;试想一下如果一款app或者小程序设计挺好但是就是数据加载很慢,用户点了个按钮半天才有反馈这样的程序会有用户喜欢吗,用户留存率肯定很低了。