首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

解剖程序setData

官方在性能优化中有提到: 避免频繁的去 setData。 避免每次 setData 都传递大量新数据。 后台态页面进行 setData。 但是到底是为什么呢?...setData的出现、设计方案是怎样的,又为何要这么设计呢?一切都还是要从双线程说起。 程序的虚拟 DOM 双线程的难题 我们知道,程序的双线程设计,主要为了管控安全,避免操作 DOM。...所以我们的setData函数将数据从逻辑层发送到视图层,是异步的。 有了线程之间的通信,我们来看看程序的渲染机制。...字符串传递)、使用建议(setData 交互性能)、性能优化(原生组件出现)。...现在再来看,官方在性能优化中说到的优化建议,你都能深刻理解了吗?

4.5K41
您找到你想要的搜索结果了吗?
是的
没有找到

【干货】解剖程序setData

程序的双线程,之前也有详细讲过了。而双线程的设计,使得逻辑层和渲染层无法直接进行数据传输。那双线程的渲染机制、通信机制,setData 的出现、工作原理、使用建议等,应该要怎么去理解呢?...官方在性能优化中有提到: 1.避免频繁的去 setData。 2.避免每次 setData 都传递大量新数据。 3.后台态页面进行 setData。 但是到底是为什么呢?...setData的出现、设计方案是怎样的,又为何要这么设计呢?一切都还是要从双线程说起。 程序的虚拟 DOM 双线程的难题 我们知道,程序的双线程设计,主要为了管控安全,避免操作 DOM。...所以我们的setData函数将数据从逻辑层发送到视图层,是异步的。 有了线程之间的通信,我们来看看程序的渲染机制。...)、使用建议(setData 交互性能)、性能优化(原生组件出现)。

1.7K30

微信程序 this.setData(微信程序setstorage)

微信程序setData()使用: ##Page.prototype.setData(Object data, Function callback) setData 函数用于将数据从逻辑层发送到视图层...注意: 直接修改this.data,而不调用this.setData(),是无法改变当前页面的状态的,会导致数据不一致 仅支持可以JSON化的数据 单次设置的数据不能超过1024KB,尽量避免一次设置过多的数据...** * 生命周期函数--监听页面加载 */ onLoad: function (options) { } }) 在页面中显示: 在onLoad()函数中调用setData...() onReady: function () { this.setData({ value:"调用setData()修改后的值" }) }, 再次运行:...参考资料:微信公众平台 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125390.html原文链接:https://javaforall.cn

25.3K30

微信程序setData 详解

作者 | 随笔川迹 ID | suibichuanji 前言 撰文:川川 在程序中各个页面之间是相互独立的,一个页面分为渲染层(视图层 webview),逻辑层(JavaScript),系统层(底层...定义: 设置数据,更改数据 作用: setData函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data的值(同步) 仔细细品这句话,会包含了很多信息 setData它是微信程序提供的一个内置的接口...,这次要改变的数据 而第二个参数Function callback回调函数是非必填的,它所代表的含义是,setData引起的界面更新渲染完毕后的回调函数 为了便于理解,在程序中创建一个 page 页面...而在程序中,使用WXML语言所提供的数据绑定功能,来完成此项功能 在程序中是没有DOM,BOM的那一套东西的,没有document.getElementById等的 程序是数据驱动视图的,逻辑层中的...数据冗余(setData操作会引起框架处理一些渲染界面相关的工作,避免将未绑定在 WXML 的变量传入setData,减少不必要的性能消耗) 后台态页面进行setData(比如退出程序),当页面进入后台态

2.1K10

程序中this.setData的使用和注意事项

前言:微信程序中经常需要用到this.setData({})把变量值渲染到视图层,那到底什么是this.setData如何使用?需要注意哪些?...setData 操作错误 1....频繁的去 setData 在我们分析过的一些案例里,部分程序会非常频繁(毫秒级)的去setData,其导致了两个后果: Android 下用户在滑动时会感觉到卡顿,操作反馈延迟严重,因为 JS...后台态页面进行 setData 当页面进入后台态(用户不可见),不应该继续去进行setData,后台态页面的渲染用户是无法感受的,另外后台态页面去setData也会抢占前台页面的执行。...总结 以上所述是编给大家介绍的程序中this.setData的使用和注意事项,希望对大家有所帮助,如果大家有任何疑问请给我留言,编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

1K40

微信程序setData方法详解和注意事项

在微信程序中经常会使用到setData函数把变量渲染到视图层,那么什么是setData呢?如何使用?注意事项有些什么?下面我们就来详细了解一下!...1 setData()方法 setData程序开发中使用最频繁的接口,也是最容易引发性能问题的接口。...直接修改this.data,而不调用this.setData(),是无法改变当前页面的状态的,会导致数据不一致。 使用this.setData({})时,注意this指向问题。...4 常见的setData操作错误(官方文档) 1.频繁的去setData 在我们分析过的一些案例里,部分程序会非常频繁(毫秒级)的去setData,其导致了两个后果: Android 下用户在滑动时会感觉到卡顿...3.后台态页面进行setData 当页面进入后台态(用户不可见),不应该继续去进行setData,后台态页面的渲染用户是无法感受的,另外后台态页面去setData也会抢占前台页面的执行。

12.6K31

开发微信程序,我为什么放弃 setData,使用 upData

鉴于在下使用微信程序开发时使用 setData 的蹩脚体验,开发了个库函数 wx-updata,项目上线之后,我把这个自用的库函数整理放到 Github 上开源出来 wx-updata,这个库函数在开发的时候对我很有帮助...如果大家在使用中遇到了问题,可以给我提 pr,提 issue,一起来改善程序开发体验加油~ wx-updata 版本 0.0.10 Github 地址: https://github.com/SHERlocked...程序代码片段预览地址: https://developers.weixin.qq.......程序代码片段代码地址: https://github.com/SHERlocked... 1. setData 不方便的地方 你在使用 setData 的时候,是不是有时候觉得很难受,举个简单的例子...: 155, 'info.desc[0].age': 12, 'info.desc[3].color': '灰色' }) 上面这两种方法,是我们平常程序里经常用的,和其他 Web 端的框架相比

58110

微信程序——使用setData修改数组中的单个对象

微信程序已经出来挺久的时间了,之前只是在文档上粗略的看了一下,最近稍得空闲,便利用微信程序平台写一个练手的项目,顺便学习一下程序开发,感觉大体跟前端开发基本类似,但是因为是在微信的平台上运行,具体还是要根据程序的规则来编写代码的...,其中还是有部分的内容跟前端中常见的有所不同,于是接下来的博客里,也会顺手记录微信程序开发过程中的一些坑,帮助后来的程序开发者少踩一些坑,当然我踩的坑大部分都是以前的开发者踩过的,我所做的也仅仅是记录...比如要求是有一个数组存放了购物车的商品信息,而你在购物车内修改了单个商品的期望购买数量后,我们就要动态的更新这个单个对象的购买数量值,如果在程序里我们会怎么做呢?...而微信程序也只给我们提供了一个setData方法,这个方法是使用键值对的形式对数据进行修改,例如: this.setData({ name : 'leon' }) 回到我们刚刚的例子里,这时候...希望这篇文章能帮助到程序的新手开发者。

3.2K20

微信程序setData()的使用方法和注意事项

程序中各个页面之间是相互独立的,一个页面分为渲染层(视图层 webview)、逻辑层、系统层(底层)。...仔细细品这句话,会包含了很多信息 setData它是微信程序提供的一个内置的接口,是用于改变逻辑层中data下的数据的。 视图层 view的数据挂载在逻辑层的data下,发送到视图层中是异步的。...一般会用到程序中封装好的setdata方法: /** `setData` 函数用于将数据从逻辑层发送到视图层 *(异步),同时改变对应的 `this.data` 的值(同步)。...setData()注意事项 1、频繁的去setData 在我们分析过的一些案例里,部分程序会非常频繁(毫秒级)的去setData,其导致了两个后果: Android下用户在滑动时会感觉到卡顿,操作反馈延迟严重...从而介绍了setData的使用注意事项,值得注意的是,如何修改对象下的某个属性,这个在往后的开发中,是使用比较频繁的。 如果小伙伴们有问题,欢迎大家下面留言,一起学习讨论~

6.2K10

程序优化建议

图片资源 主要性能问题在于大图片和长列表图片上,这两种情况都有可能导致 iOS 客户端内存占用上升,从而触发系统回收程序页面 图片对内存的影响 在 iOS 上,程序的页面是由多个 WKWebView...我们分析过的案例中,有一部分程序会在页面中引用大图片,在页面后退切换中会出现掉帧卡顿的情况.建议开发者尽量减少使用大图片资源 # 代码包大小的优化 有必要尽量减少代码包的大小,因为代码包大小直接影响到下载速度...除了代码自身的重构优化外,还可以从这两方面着手优化代码大小: 控制代码包内图片资源 程序代码包经过编译后,会放在微信的 CDN 上供用户下载,CDN 开启了 GZIP 压缩,所以用户下载的是压缩后的...但我们分析数据发现,不同程序之间的代码包压缩比差异也挺大的,部分可以达到 30%,而部分只有 80%,而造成这部分差异的一个原因,就是图片资源的使用。...目前程序打包是会将工程下所有文件都打入代码包内,也就是说,这些没有被实际使用到的库文件和资源也会被打入到代码包里,从而影响到整体代码包的大小

68510

# 程序优化

# 程序优化 双线程架构相关 setData 频繁操作(底层是因为双线程架构),可以使用 wx.nextTick 将多次操作延迟到下一次事件循环里 不需要渲染的数据使用_或者直接挂在在 this...如何测试优化结果 使用 audits (体验评分)工具,浏览器中对应 Proformance - 查看首屏加载时长 - 网络请求时长 - 通过给出的体验报告,去逐步进行优化。...# 遇到的问题,以及如何解决的。 页面栈爆栈 程序默认页面栈是 10 层,超出则会跳转失败。...Less 参考:在微信程序中使用 less(最优方式)open in new window 程序 wxml 属性如何折行 setting.json 中: "files.associations":...Vue 的区别 运行环境 声明周期 代码编写 组件通讯 对于特定的功能,程序需要基础的支持 TypeScript 给你带来了什么?

15320

程序优化36计

性能优化是一个长久的课题,今天总结了一些在研发过程中的优化策略,有代码层面的,也有一些方案策略层面的,其中一些优化方法也适用于app和web,有些则只适用于程序。...今日抛砖引玉,与各位分享程序性能优化的36计。 瞒天过海 用户对程序速度的第一感知就是首屏加载速度,所以首屏加载要快,让用户‘误以为’程序加载很快。...解决性能瓶颈后,就解决了用户体验差的大头,其他一些优化,用户感知可能是微乎其微的。 在像资讯、电商类的程序中,图片可以说是性能优化里的王了。...值得一提的是程序的JS只能通过setData和视图层交互,而性能并不乐观。 像毫秒级setData会导致页面卡顿明显。...程序的缓存在整个网络中无处不在,dns缓存、cdn缓存、redis缓存、图片缓存等等,本文前面几乎每一点或多或少提到了缓存的优化的思维。用好缓存,在程序性能优化上可能事半功倍。

2K80

微信程序如何做好seo搜索引擎优化,提升程序引流

程序也和我们的日常网站一样需要做好seo优化工作,那么微信程序的seo如何做呢?有哪些经验技巧 1、首先确保没有屏蔽搜索,确保可以被搜索到,你需要在程序后台开启页面收录的功能。...3、我们要合理设置程序名称,页面标题和程序的描述等关键信息,这个和百度等搜索引擎是相同的思路,只有你的标题中包含了客户搜索词,才有可能展现出来。...微信现已开放程序内搜索,开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其程序页面是否允许微信索引。...当开发者允许微信索引时,微信会通过爬虫的形式,为程序的页面内容建立索引。当用户的搜索词条触发该索引时,程序的页面将可能展示在搜索结果中。...具体配置说明 页面收录设置:可对整个程序的索引进行关闭,程序管理后台-功能-页面内容接入-页面收录开关;详情 sitemap 配置:可对特定页面的索引进行关闭 sitemap 配置 程序根目录下的

2K10

如何测试程序? 腾讯智慧零售保障优衣库程序体验优化

持续创新,优衣库尝试程序 作为全球知名服装品牌之一,优衣库通过与腾讯智慧零售团队合作,整合腾讯生态与自有流量,融合了线上线下的多个场景,消费者可以第一时间了解新品资讯,优惠信息,库存信息并通过多种形式快速下单...无论是在线下还是线上,优衣库都非常重视用户体验,因此优衣库对自身程序的质量要求极高,确保每位顾客都能有流畅无碍的购物体验。...2)基于程序特性,调整测试重点 在测试过程中,针对程序的测试特点,智慧零售团队调整了测试重点,增加程序首屏加载,程序登录等测试内容;同时针对微信授权,如读取个人信息,读取位置等测试项也逐一进行验证...此次测试帮助优衣库程序发现5个功能问题,保证优衣库程序在“商品搜索”“下单流程”等核心场景在双十一期间稳定运行。...取消 发布到看一看 确定 最多200字,当前共字 发送中 微信扫一扫 关注该公众号 微信扫一扫 使用程序 即将打开""程序 取消 打开

97030
领券