小程序的数据渲染方法、装置、移动终端及存储介质与流程

文档序号:15931213发布日期:2018-11-14 01:39阅读:146来源:国知局
本发明涉及计算机程序
技术领域
:,特别是涉及一种小程序的数据渲染方法、装置、移动终端及存储介质。
背景技术
:微信小程序简称小程序,属于基于微信开发的一种不需要下载安装即可使用的应用程序。在小程序的视图渲染过程中,由于多种异步请求会导致多次渲染数据到视图,从而导致微信开发者工具控制台性能警报,进而影响小程序的视图渲染性能,降低用户体验。技术实现要素:为了克服上述缺陷,本发明要解决的技术问题是提供一种小程序的数据渲染方法、装置、移动终端及存储介质,用以至少提高小程序的用户体验。为解决上述技术问题,本发明实施例中的一种小程序的数据渲染方法,包括:获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据;在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。在本发明实施例中,可选地,所述获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据,包括:在所述渲染时间间隔内,将所述各次数据渲染请求的渲染数据合并到缓存数据对象中;从所述缓存数据对象中获取所述合并的各次数据渲染请求的渲染数据。在本发明实施例中,可选地,所述在所述渲染时间间隔内,将所述各次数据渲染请求的渲染数据合并到缓存数据对象中,包括:在接收到第n次数据渲染请求时,获取所述第n次数据渲染请求所对应的渲染数据;所述n为正整数;将获取的渲染数据合并到所述缓存数据对象中;判断所述n是否为一;在判断为一时,根据所述缓存数据对象进行数据渲染,并清空所述缓存数据对象,以及启动预设的定时器;在判定不为一,并且根据所述定时器的计时时间判定未达到所述渲染时间间隔时,继续接收第n+1次数据渲染请求。在本发明实施例中,可选地,所述在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染,包括:在达到所述渲染时间间隔时,根据所述缓存数据对象进行数据渲染,并清空所述缓存数据对象。在本发明实施例中,可选地,所述获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据;在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染,包括:在接收到每次数据渲染请求时,调用预先封装的数据延迟渲染函数,所述数据延迟渲染函数包括缓存数据对象和渲染控制器;通过所述渲染控制器获取在所述渲染时间间隔内合并的各次数据渲染请求的渲染数据;在达到所述渲染时间间隔时,调用所述小程序原生的数据渲染函数,使所述原生的数据渲染函数根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。为解决上述技术问题,本发明实施例中一种小程序的数据渲染装置,包括:获取模块,用于获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据;渲染模块,用于在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。在本发明实施例中,可选地,所述获取模块包括:合并单元,用于在所述渲染时间间隔内,将所述各次数据渲染请求的渲染数据合并到缓存数据对象中;提取单元,用于从所述缓存数据对象中获取所述合并的各次数据渲染请求的渲染数据。在本发明实施例中,可选地,所述合并单元,具体用于在接收到第n次数据渲染请求时,获取所述第n次数据渲染请求所对应的渲染数据;所述n为正整数;将获取的渲染数据合并到所述缓存数据对象中;判断所述n是否为一;在判断为一时,根据所述缓存数据对象进行数据渲染,并清空所述缓存数据对象,以及启动预设的定时器;在判定不为一,并且根据所述定时器的计时时间判定未达到所述渲染时间间隔时,继续接收第n+1次数据渲染请求。在本发明实施例中,可选地,所述渲染模块,具体用于在达到所述渲染时间间隔时,根据所述缓存数据对象进行数据渲染,并清空所述缓存数据对象。在本发明实施例中,可选地,所述装置还包括:调用模块,用于在接收到每次数据渲染请求时,调用预先封装的数据延迟渲染函数,所述数据延迟渲染函数包括缓存数据对象和渲染控制器;渲染控制器,用于从所述合并单元中获取在所述渲染时间间隔内合并的各次数据渲染请求的渲染数据;并调用所述渲染模块在达到所述渲染时间间隔时,调用所述小程序原生的数据渲染函数,使所述原生的数据渲染函数根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。为解决上述技术问题,本发明实施例中一种移动终端,包括存储器和处理器;所述存储器存储有小程序的数据渲染计算机程序,所述处理器执行所述计算机程序,以实现如上任意一项所述方法的步骤。为解决上述技术问题,本发明实施例中一种计算机可读存储介质,存储有小程序的数据渲染计算机程序,所述计算机程序被至少一个处理器执行时,以实现如上任意一项所述方法的步骤。本发明有益效果如下:本发明各个实施例有效避免额外的性能开销,有效降低微信开发者工具控制台性能警报次数,有效提升小程序的界面流畅度,有效提高用户体验。附图说明图1是本发明实施例中一种小程序的数据渲染方法的主流程图;图2是本发明实施例中一种可选地小程序的数据渲染方法的流程图;图3是本发明实施例中又一种可选地小程序的数据渲染方法的流程图;图4是本发明实施例中一种小程序的数据渲染装置的结构示意图;图5是本发明实施例中一种移动终端的结构示意图。具体实施方式为了解决现有技术的问题,本发明提供了一种小程序的数据渲染方法、装置、移动终端及存储介质,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不限定本发明。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。使用用于区分元件的诸如“第一”、“第二”等前缀仅为了有利于本发明的说明,其本身没有特定的意义。移动终端可以是手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)、便捷式媒体播放器(portablemediaplayer,pmp)、导航装置、可穿戴设备、智能手环、计步器等。实施例一本发明实施例提供一种小程序的数据渲染方法,如图1所示,所述方法包括:s101,获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据;s102,在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。本发明实施例中方法可以应用于移动终端中。本发明实施例中渲染时间间隔可以根据小程序的视图渲染性能指标设置,性能指标可以根据具体应用场景设置,例如性能指标可以包括以下一种或多种:用于反映小程序运行时的流畅性指标、移动终端中cpu(centralprocessingunit,中央处理器)的负担指标、微信开发者工具性能警报指标。比如,将渲染时间间隔设置在300毫秒。本发明实施例通过获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据,并且在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染,从而实现可以在对多次视图渲染以一个渲染时间间隔延时执行,进而有效避免单位时间内多次调用渲染方法;从而实现可以对渲染时间间隔内多次的渲染数据做一次合并,进而有效避免额外的性能开销;从而实现可以在用户频繁操作小程序而导致多次视图渲染时候,进而有效降低微信开发者工具控制台性能警报次数;并有效提升小程序的界面流畅度,有效提高用户体验。本发明实施例在根据所述合并的各次数据渲染请求的渲染数据进行数据渲染时,可以通过小程序原生的数据渲染函数(setdata)进行数据渲染。在一些实施例中,所述获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据,可以包括:在所述渲染时间间隔内,将所述各次数据渲染请求的渲染数据合并到缓存数据对象中;从所述缓存数据对象中获取所述合并的各次数据渲染请求的渲染数据。在一些实施例中,所述获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据;在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染,也可以包括:在接收到每次数据渲染请求时,调用预先封装的数据延迟渲染函数(setdatalazy),所述数据延迟渲染函数包括缓存数据对象和渲染控制器;通过所述渲染控制器获取在所述渲染时间间隔内合并的各次数据渲染请求的渲染数据;在达到所述渲染时间间隔时,调用所述小程序原生的数据渲染函数,使所述原生的数据渲染函数根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。本发明实施例中通过调用setdatalazy函数,得到每次数据渲染请求的渲染数据,将每次渲染数据与缓存数据对象进行合并,在第一次对setdatalazy中缓存数据对象进行赋值的时候,将立即调用setdata函数进行更新视图数据作渲染,然后清空缓存数据对象,在非第一次对setdatalazy中缓存数据对象进行赋值的时候,根据渲染时间间隔合并各次数据渲染请求的渲染数据,进而在达到所述渲染时间间隔时,调用setdata函数进行数据渲染。实施例二现有技术中一般通过调用setdata函数进行小程序的视图渲染,但是调用setdata函数会立即渲染数据到视图,当渲染数据改变频繁会导致setdata函数的密集调用,从而影响渲染性能、开发者工具控制台提示性能警报等问题。本发明实施例提供一种小程序的数据渲染方法,如图2所示,所述方法包括:s201,在所述渲染时间间隔内,将所述各次数据渲染请求的渲染数据合并到缓存数据对象中;s202,从所述缓存数据对象中获取所述合并的各次数据渲染请求的渲染数据;s203,在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。本发明实施例中通过设置缓存数据对象可以有效提高各次数据渲染请求的渲染数据的获取速度,从而避免额外的性能开销,并提升小程序的界面流畅度,进而有效提高用户体验。在一些实施例中,所述在所述渲染时间间隔内,将所述各次数据渲染请求的渲染数据合并到缓存数据对象中,可以包括:在接收到第n次数据渲染请求时,获取所述第n次数据渲染请求所对应的渲染数据;所述n为正整数;将获取的渲染数据合并到所述缓存数据对象中;判断所述n是否为一;在判断为一时,根据所述缓存数据对象进行数据渲染,并清空所述缓存数据对象,以及启动预设的定时器;在判定不为一,并且根据所述定时器的计时时间判定未达到所述渲染时间间隔时,继续接收第n+1次数据渲染请求。在一些实施例中,所述在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染,还可以包括:在达到所述渲染时间间隔时,根据所述缓存数据对象进行数据渲染,并清空所述缓存数据对象,以及重置定时器。实施例三本发明实施例中在setdatalazy函数里定义一个缓存数据对象与一个渲染控制器。当调用setdatalazy函数,将每次数据渲染请求的渲染数据合并到缓存数据对象上。当第一次调用setdatalazy函数进行渲染的时候,将立即调用setdata函数进行渲染,从而保证用户的操作立即得到视图反馈;当多次快速调用setdatalazy函数时,会判断当前调用与上一次调用是否在指定的渲染时间间隔内,例如300毫秒,在这一个渲染时间间隔内的调用setdatalazy函数时,不再多次调用setdata函数,而是将这多次数据渲染请求的渲染数据进行一个合并操作,从而保证300毫秒内最多仅调用一次setdata函数,并且渲染正确的数据到视图上。基于此本发明实施例提供一种小程序的数据渲染方法,所述方法包括:在接收到每次数据渲染请求时,调用预先封装的数据延迟渲染函数,所述数据延迟渲染函数包括缓存数据对象和渲染控制器;通过所述渲染控制器获取在所述渲染时间间隔内合并的各次数据渲染请求的渲染数据;在达到所述渲染时间间隔时,调用所述小程序原生的数据渲染函数,使所述原生的数据渲染函数根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。在一些实施例中,本发明实施例中方法如图3所示,具体包括:s301,在接收到第n次数据渲染请求时,调用数据延迟渲染函数,所述数据延迟渲染函数包括缓存数据对象和渲染控制器;所述n为正整数;所述渲染控制器执行以下流程:s302,获取所述第n次数据渲染请求所对应的渲染数据;s303,将获取的渲染数据与缓存数据对象中数据进行合并;也即将获取的渲染数据合并到所述缓存数据对象中;s304,进行渲染控制:s305,判断所述n是否为一;也即判断是否进行第一次数据渲染;若是执行s306,若否执行s308。s306,在判断为一时,启动定时器;s307,根据所述缓存数据对象进行数据渲染,清空所述缓存数据对象;s308,在判定不为一,并且根据所述定时器的计时时间判定未达到所述渲染时间间隔时,执行s301,继续接收第n+1次数据渲染请求;s309,在达到所述渲染时间间隔时,重置定时器;s310,在判定缓存数据对象中有渲染数据时,执行s307。本发明实施例中通过调用setdatalazy函数,得到每次数据渲染请求的渲染数据,将每次渲染数据与缓存数据对象进行合并,在第一次对setdatalazy中缓存数据对象进行赋值的时候,将立即调用setdata函数进行更新视图数据作渲染,然后清空缓存数据对象,在非第一次对setdatalazy中缓存数据对象进行赋值的时候,根据渲染时间间隔合并各次数据渲染请求的渲染数据,进而在达到所述渲染时间间隔时,调用setdata函数进行数据渲染,从而实现可以在对多次视图渲染以一个渲染时间间隔延时执行,进而有效避免单位时间内多次调用渲染方法;从而实现可以对渲染时间间隔内多次的渲染数据做一次合并,进而有效避免额外的性能开销;从而实现可以在用户频繁操作小程序而导致多次视图渲染时候,进而有效降低微信开发者工具控制台性能警报次数;并有效提升小程序的界面流畅度,有效提高用户体验。实施例四本发明实施例提供一种小程序的数据渲染装置,如图4所示,所述装置包括:获取模块10,用于获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据;渲染模块12,用于在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。本发明实施例通过获取在预设的渲染时间间隔内合并的各次数据渲染请求的渲染数据,并且在达到所述渲染时间间隔时,根据所述合并的各次数据渲染请求的渲染数据进行数据渲染,从而实现可以在对多次视图渲染以一个渲染时间间隔延时执行,进而有效避免单位时间内多次调用渲染方法;从而实现可以对渲染时间间隔内多次的渲染数据做一次合并,进而有效避免额外的性能开销;从而实现可以在用户频繁操作小程序而导致多次视图渲染时候,进而有效降低微信开发者工具控制台性能警报次数;并有效提升小程序的界面流畅度,有效提高用户体验。在一些实施例中,所述获取模块10可以包括:合并单元,用于在所述渲染时间间隔内,将所述各次数据渲染请求的渲染数据合并到缓存数据对象中;提取单元,用于从所述缓存数据对象中获取所述合并的各次数据渲染请求的渲染数据。在一些实施例中,所述合并单元,具体用于在接收到第n次数据渲染请求时,获取所述第n次数据渲染请求所对应的渲染数据;所述n为正整数;将获取的渲染数据合并到所述缓存数据对象中;判断所述n是否为一;在判断为一时,根据所述缓存数据对象进行数据渲染,并清空所述缓存数据对象,以及启动预设的定时器;在判定不为一,并且根据所述定时器的计时时间判定未达到所述渲染时间间隔时,继续接收第n+1次数据渲染请求。在一些实施例中,所述渲染模块12,可以具体用于在达到所述渲染时间间隔时,根据所述缓存数据对象进行数据渲染,并清空所述缓存数据对象。在一些实施例中,所述装置还可以包括:调用模块,用于在接收到每次数据渲染请求时,调用预先封装的数据延迟渲染函数,所述数据延迟渲染函数包括缓存数据对象和渲染控制器;渲染控制器,用于从所述合并单元中获取在所述渲染时间间隔内合并的各次数据渲染请求的渲染数据;并调用所述渲染模块12在达到所述渲染时间间隔时,调用所述小程序原生的数据渲染函数,使所述原生的数据渲染函数根据所述合并的各次数据渲染请求的渲染数据进行数据渲染。在此需要说明的是,本发明实施例为实施例一至实施例三的装置实施例,具有实施例一至实施例三相应的技术效果。实施例五本发明实施例提供一种移动终端,如图5所示,所述移动终端包括存储器20和处理器22;所述存储器20存储有小程序的数据渲染计算机程序,所述处理器22执行所述计算机程序,以实现如实施例一至实施例三中任意一项所述方法的步骤。实施例六本发明实施例提供一种计算机可读存储介质,其特征在于,所述存储介质存储有小程序的数据渲染计算机程序,所述计算机程序被至少一个处理器执行时,以实现如实施例一至实施例三中任意一项所述方法的步骤。本发明实施例中计算机可读存储介质可以是ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动硬盘、cd-rom或者本领域已知的任何其他形式的存储介质。可以将一种存储介质藕接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息;或者该存储介质可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路中。在此需要说明的是,实施例五和实施例六在具体实现时,可以参阅实施例一至实施例三,具有相应的技术效果。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1