开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
native 渲染
性能与优化
小程序全局配置
小程序页面
axml
sjs 语法参考
事件系统
自定义组件
基础能力
基础库
基础库更新日志
开发 > 框架 > 性能与优化 > 小程序运行机制
贡献者
收藏
订阅更新
我的文档
设置
下载
小程序无需安装,用户第一次使用小程序时,支付宝客户端会从服务器下载小程序的资源,下载后的小程序资源会缓存在支付宝的客户端一段时间。当用户再次打开已经缓存资源的小程序时,会跳过下载过程,能够更快地打开小程序。
热启动和冷启动
冷启动:当用户打开未启动过,或者是已经销毁的小程序时,称为冷启动。此时小程序会执行初始化,初始化完成后,会触发 onlaunch 回调函数。
热启动:当用户打开已经关闭但仍处于后台运行的小程序时,称为热启动。在这种情况下,小程序并不会被销毁后重启,而仅是从后台切换到前台,此时,onshow 函数会触发,onlaunch 回调函数不会被触发。
前台 / 后台运行
前台运行: 当用户首次打开小程序时候,小程序会处于前台运行状态。
后台运行: 用户点击右上角关闭按钮关闭小程序,或者按下设备 home 键离开支付宝客户端时,小程序并不会直接销毁,而是进入后台运行状态。
从后台运行切换为前台运行: 当未被系统销毁的小程序再度被打开或者激活时,会从后台运行切换为前台运行。
可在 app.js 中注册前台 / 后台切换的回调函数。当小程序从后台进入前台显示时会触发 onshow,当小程序从前台到后台时会触发 onhide
缓存
开启本地缓存数据,进行存储、获取和删除等控制。 单个小程序的缓存总上限为 10 mb。 同步方法会阻塞当前任务,直到同步方法处理返回。异步方法不会阻塞当前任务。
操作
同步
异步
描述
存储
数据存储在本地缓存中指定的 key 中的接口,会覆盖掉原来该 key 对应的数据。
读取
获取缓存数据的接口。
清除
清除本地数据缓存的接口。
删除
删除缓存数据的接口。
获取相关信息
获取当前 storage 的相关信息的接口。
销毁
用户点击右上角关闭按钮关闭小程序时,小程序仅是进入后台运行,不会被销毁。只有当小程序进入后台运行状态一定时间,或者占用系统资源过高时,才会被真正销毁。
常见问题
q:小程序如何使用 cookie?
a:小程序中不建议使用 cookie,小程序针对服务端回设的 cookie 不会禁用掉,会设置到小程序进程中,下次小程序进行请求,会自动将已有的 cookie 带入到服务端请求中。前端获取不到 cookie,也不会对 cookie 做任何操作。小程序建议使用 缓存
q:使用了缓存 api 后,小程序的缓存什么时候会被清掉?
a:使用了缓存 api 必须使用清除 api,否则缓存不会被清除掉。
q:小程序启动报错 error: eacces: permission denied, mkdir /users/xiaoqiang/tuhu/gitlab/ali_ app/ali_app/dist/.tea
a:权限问题,用超级用户来执行。在 npm install 指令前加 sudo 变为: sudo npm install。
q:打开小程序报错“系统异常,暂时无法启动,请稍后再试”
a:支付宝客户端版本过低,不支持某些 api 或者组件,会报这样的错误。建议做 兼容 处理。
q:小程序中存入的缓存数据为什么多了一对双引号?
a:告知在调用存入 api 时使用了 json.stringify 导致。
相关文档
兼容
app.js
api 概览
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图