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 ,这个需要优化的时候再看,精力有限

微信小程序 可用性一览的更多相关文章

  1. 微信小程序开发初探

    一.关于微信小程序 1.1 小程序诞生的背景 张小龙说道: (1)一切以用户价值为依归→用户是微信的核心,所以微信中没有很多与客户无关的功能,比如QQ中的乱七八糟一系列东西. (2)让创造发挥价值→所 ...

  2. 微信小程序常见错误及基本排除方法

    也接触了不少人解决问题的过程里,有一些比较难以排查的可能性列举在这,方便大家看一下:   也欢迎大家把自己常用的排除方法列举在这,一起互相学习探讨!1:ES6:使用es6可能导致安卓端真机调试时很多问 ...

  3. 公测后,微信小程序应用可能被拒原因.

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 34.0px "PingFang SC Semibold"; color: #23232 ...

  4. 史诗手册!微信小程序新手自学入门宝典!

    一.小程序官方指南 1:官方开发工具下载: https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html?t=201714 0.12 ...

  5. 微信小程序个人心得

    尊重原创:http://blog.csdn.net/qq_28832135/article/details/52796048 昨天看了一下微信小程序官方文档,总结一下自己学习的个人心得. 首先从官方文 ...

  6. 微信小程序-设计指南

    基于微信小程序轻快的特点,官方拟定了小程序界面设计指南和建议,可作为小程序开发参考. 友好礼貌 -避免用户使用服务时被周围环境干扰,设计时应减少无关设计对用户的影响,礼貌的向用户提供服务,友好的引导用 ...

  7. 微信小程序访问豆瓣api403问题解决方发法

    微信小程序访问豆瓣api403问题解决方法一览:通过豆瓣api可以获取很多电影.书籍等的数据信息.昨晚上用微信小程序请求豆瓣api,竟然被豆瓣拒绝了.(豆瓣设置了小程序的访问权限):下面就跟着小编一起 ...

  8. 全栈开发工程师微信小程序-中(下)

    全栈开发工程师微信小程序-中(下) 微信小程序视图层 wxml用于描述页面的结构,wxss用于描述页面的样式,组件用于视图的基本组成单元. // 绑定数据 index.wxml <view> ...

  9. 全栈开发工程师微信小程序-上(下)

    全栈开发工程师微信小程序-上(下) icon 图标 success, success_no_circle, info, warn, waiting, cancel, download, search, ...

随机推荐

  1. ES6 中的let 声明变量

    1.let是声明的是块级变量,不会污染全局,一般条件与循环中会用到: 2.let  不可以变量提升: 3.let不遵循作用域,一个作用域内如果有该变量,就不会到全局去找,也不可以在一个作用域重复声明一 ...

  2. 基于Python 的简单推荐系统

    def loadExData(): return[[1,1,1,0,0], [2,2,2,0,0], [1,1,1,0,0], [5,5,5,0,0], [1,1,0,2,2], [0,0,0,3,3 ...

  3. 星星dom

    <!DOCTYPE html><html><head><meta charset="UTF-8"><title>星星&l ...

  4. 【转载】Android Studio简单设置

    界面设置 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings --> Appearance --> Theme ,选择 Darcula 主题即可 ...

  5. mac系统下查看端口占用情况

    localhost:~ mhx$  lsof -i tcp:8080 COMMAND  PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NA ...

  6. laravel打印原生语句

    laravel中快捷方便的打印语句的方法步骤一:DB::connection()->enableQueryLog();$data["banner"] = WebsiteBan ...

  7. magento导入数据的方法

    导入演示数据 分两种情况处理. 如果你是用composer方式安装的 非常简单,二行命令搞定:在项目根目录下执行.我们的是在/var/www/magento2/下面. 安装演示数据 php bin/m ...

  8. ssl原理及应用

    今天学习网络通信,看到使用ssl(Secure Sockets Layer)进行加密,由于对ssl只是有些概念上的了解,对于具体应用原理.过程和如何使用不慎了解,于是学习了一番,总结如下: 1. 为什 ...

  9. I.MX6 MAC地址修改

    /*********************************************************************** * I.MX6 MAC地址修改 * 说明: * I.M ...

  10. Spring配置错误 No adapter for IAdvice of type

    参考:http://www.2cto.com/kf/201305/211728.html 错误十三 在配置拦截器后,运行的时候报错=> Error creating context 'sprin ...