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. (linux)SD卡初始化-mmc_sd_init_card函数(续)

      转自:http://www.cnblogs.com/fengeryi/p/3472728.html   mmc_sd_init_card剩下的关于UHS-I的分支结构. uhs-I的初始化流程图如 ...

  2. HDU 5178 pairs —— 思维 + 二分

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5178 pairs Time Limit: 2000/1000 MS (Java/Others)     ...

  3. HDUoj4857逃生 拓扑排序

    逃生 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  4. NIO与IO的区别

    nio是new io的简称,从jdk1.4就被引入了.现在的jdk已经到了1.6了,可以说不是什么新东西了.但其中的一些思想值得我来研究.这两天,我研究了下其中的套接字部分,有一些心得,在此分享.  ...

  5. 理解Objective-C Runtime(三)消息转发机制

    消息转发机制概述 上一篇博客消息传递机制中讲解了Objective-C中对象的「消息传递机制」.本文需要讲解另外一个重要问题:当对象受到无法处理的消息之后会发生什么情况? 显然,若想令类能理解某条消息 ...

  6. python的日志logging模块性能以及多进程

    写在前面: 日志是记录操作的一种好方式.但是日志,基本都是基于文件的,也就是要写到磁盘上的.这时候,磁盘将会成为一个性能瓶颈.对于普通的服务器硬盘(机械磁盘,非固态硬盘),python日志的性能瓶颈是 ...

  7. unity anim(转)

    Unity4的Mecanim动画很早以前就有体验过,迟迟没有加到项目中有两个原因,今天写这篇博客来记录我在做的过程中遇到的一些问题. 1.以前的代码代码量比较多,修改起来动的地方太多了. 2.使用Me ...

  8. Runnable、Callable、Future和FutureTask之二:源码解析

    一.Callable与Future类图 1.类图 许多任务实际上都是存在延迟的计算,对于这些任务,Callable是一种更好的抽象:它会返回一个值,并可能抛出一个异常.Callable接口: V ca ...

  9. iOS 中的 Block

    参考:链接 (1)block作为本地变量(local variable) returnType (^blockName)(parameterTypes) = ^returnType(parameter ...

  10. Spherical Harmonics Lighting

    [转自:http://www.cnblogs.com/daniagger/archive/2012/05/29/2524133.html] 1.背景知识 1.1 光照表示 之前我们都只考虑光源点和物体 ...